Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| tech:vagrant:casosuso [19/02/2019 15:16] – [vagrant + docker] mate | tech:vagrant:casosuso [16/11/2021 02:50] (actual) – suprimit mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| - | = casos de uso | ||
| - | == 3 nodos vagrant + docker | ||
| - | la idea es desplegar un cluster swarm | ||
| - | <sxh ruby; title: 3 nodos vagrant> | ||
| - | Vagrant.configure(" | ||
| - | | ||
| - | | ||
| - | | ||
| - | # | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | end | ||
| - | </ | ||
| - | <sxh shell; title: instalación básica> | ||
| - | #!/bin/bash | ||
| - | sudo apt-get remove -y docker docker-engine docker.io containerd runc | ||
| - | sudo apt-get update | ||
| - | sudo apt-get install -y \ | ||
| - | | ||
| - | | ||
| - | curl \ | ||
| - | | ||
| - | | ||
| - | vim | ||
| - | curl -fsSL https:// | ||
| - | sudo add-apt-repository \ | ||
| - | " | ||
| - | | ||
| - | | ||
| - | sudo apt-get update | ||
| - | sudo apt-get install -y docker-ce | ||
| - | sudo usermod -aG docker vagrant | ||
| - | #newgrp docker | ||
| - | #docker run hello-world | ||
| - | </ | ||
| - | |||
| - | == vagrant + docker | ||
| - | <sxh ruby; title: vagrant despliega docker, falta ./data> | ||
| - | Vagrant.configure(2) do |config| | ||
| - | config.vm.box = " | ||
| - | config.vm.hostname = " | ||
| - | config.vm.network " | ||
| - | config.vm.network | ||
| - | config.vm.synced_folder " | ||
| - | # config.vm.provision " | ||
| - | config.vm.provision " | ||
| - | d.pull_images " | ||
| - | d.run " | ||
| - | args: "-v '/ | ||
| - | end | ||
| - | config.vm.provider " | ||
| - | vb.name = " | ||
| - | vb.memory = " | ||
| - | vb.cpus = 2 | ||
| - | vb.linked_clone = true | ||
| - | end | ||
| - | end | ||
| - | </ | ||
| - | |||
| - | == vagrant + docker | ||
| - | <sxh ruby; title: vagrant despliega docker, falta ./data> | ||
| - | Vagrant.configure(2) do |config| | ||
| - | config.vm.box = " | ||
| - | config.vm.hostname = " | ||
| - | config.vm.network " | ||
| - | config.vm.network | ||
| - | config.vm.synced_folder " | ||
| - | # config.vm.provision " | ||
| - | config.vm.provision " | ||
| - | d.pull_images " | ||
| - | d.run " | ||
| - | args: "-v '/ | ||
| - | end | ||
| - | config.vm.provider " | ||
| - | vb.name = " | ||
| - | vb.memory = " | ||
| - | vb.cpus = 2 | ||
| - | vb.linked_clone = true | ||
| - | end | ||
| - | end | ||
| - | </ | ||
| - | |||
| - | == configuraciones simples | ||
| - | <sxh ruby; title: 1 máquina, varias opciones de configuración> | ||
| - | Vagrant.configure(2) do |config| | ||
| - | config.vm.box = " | ||
| - | config.vm.hostname = " | ||
| - | config.vm.provision " | ||
| - | |||
| - | config.vm.network : | ||
| - | config.vm.network : | ||
| - | config.vm.network : | ||
| - | config.vm.network : | ||
| - | config.vm.synced_folder " | ||
| - | |||
| - | config.vm.provider " | ||
| - | vb.name = " | ||
| - | vb.memory = 1024 | ||
| - | vb.cpus = 3 | ||
| - | vb.linked_clone = true | ||
| - | vb.gui = true | ||
| - | end | ||
| - | end | ||
| - | </ | ||
| - | |||
| - | <sxh ruby; title: 2 máquinas> | ||
| - | Vagrant.configure(" | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | end | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | end | ||
| - | end | ||
| - | </ | ||
| - | |||
| - | == master (Dani) | ||
| - | * la configuración de las VM está en fichero separado | ||
| - | |||
| - | <sxh ruby; highlight: | ||
| - | API_VERSION = ' | ||
| - | VMS_FILE_PATH = ' | ||
| - | |||
| - | hosts = YAML.load_file(VMS_FILE_PATH) | ||
| - | |||
| - | Vagrant.configure(API_VERSION) do |config| | ||
| - | hosts.each do |host| | ||
| - | config.vm.define host[' | ||
| - | node.vm.box = host[' | ||
| - | node.vm.hostname = host[' | ||
| - | node.vm.network : | ||
| - | |||
| - | host[' | ||
| - | host[' | ||
| - | |||
| - | if host[' | ||
| - | host[' | ||
| - | config.vm.provision : | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | end | ||
| - | } | ||
| - | end | ||
| - | |||
| - | config.vm.provider :virtualbox do |v| | ||
| - | v.linked_clone = true | ||
| - | v.name = host[' | ||
| - | v.cpus = host[' | ||
| - | v.memory = host[' | ||
| - | end | ||
| - | end | ||
| - | end | ||
| - | end | ||
| - | </ | ||
| - | |||
| - | <sxh ruby; title: vms.yml> | ||
| - | - name: openshift-master | ||
| - | box: centos/7 | ||
| - | hostname: 10.0.0.10 | ||
| - | memory: 2048 | ||
| - | cpus: 2 | ||
| - | ip: 10.0.0.10 | ||
| - | ports: | ||
| - | - host: 8443 | ||
| - | guest: 8443 | ||
| - | sync: | ||
| - | - host: . | ||
| - | guest: /vagrant | ||
| - | type: nfs | ||
| - | |||
| - | - name: openshift-node1 | ||
| - | box: centos/7 | ||
| - | hostname: 10.0.0.11 | ||
| - | memory: 2048 | ||
| - | cpus: 2 | ||
| - | ip: 10.0.0.11 | ||
| - | ports: | ||
| - | - host: 8081 | ||
| - | guest: 80 | ||
| - | - host: 8481 | ||
| - | guest: 443 | ||
| - | sync: | ||
| - | - host: . | ||
| - | guest: /vagrant | ||
| - | type: nfs | ||
| - | |||
| - | - name: openshift-node2 | ||
| - | box: centos/7 | ||
| - | hostname: 10.0.0.12 | ||
| - | memory: 2048 | ||
| - | cpus: 2 | ||
| - | ip: 10.0.0.12 | ||
| - | ports: | ||
| - | - host: 8082 | ||
| - | guest: 80 | ||
| - | - host: 8482 | ||
| - | guest: 443 | ||
| - | sync: | ||
| - | - host: . | ||
| - | guest: /vagrant | ||
| - | type: nfs | ||
| - | |||
| - | - name: bastion | ||
| - | box: centos/7 | ||
| - | memory: 512 | ||
| - | cpus: 1 | ||
| - | ip: 10.0.0.2 | ||
| - | sync: | ||
| - | - host: . | ||
| - | guest: /vagrant | ||
| - | type: nfs | ||
| - | ansible_local: | ||
| - | config: | ||
| - | mode: pip | ||
| - | version: 2.4.1.0 | ||
| - | playbooks: | ||
| - | - limit: " | ||
| - | become: true | ||
| - | playbook: ./ | ||
| - | inventory: ./ | ||
| - | - limit: " | ||
| - | become: true | ||
| - | playbook: ./ | ||
| - | inventory: ./ | ||
| - | </ | ||
| - | |||
| - | == master | ||
| - | <sxh ruby; title: Vagrantfile> | ||
| - | VAGRANTFILE_API_VERSION = ' | ||
| - | DEFAULT_PROVIDER_MEMORY = ' | ||
| - | DEFAULT_PROVIDER_CPUS = ' | ||
| - | DEFAUTL_LINKED_CLONE = true | ||
| - | |||
| - | def do_ports(vm, | ||
| - | if host.has_key? | ||
| - | host[' | ||
| - | vm.network : | ||
| - | end | ||
| - | end | ||
| - | end | ||
| - | |||
| - | def do_provision(vm, | ||
| - | if host.has_key? | ||
| - | vm.provision " | ||
| - | end | ||
| - | end | ||
| - | |||
| - | def do_syncfolder(vm, | ||
| - | if host.has_key? | ||
| - | host[' | ||
| - | vm.synced_folder syncf[' | ||
| - | end | ||
| - | end | ||
| - | end | ||
| - | |||
| - | |||
| - | def do_provider(vm, | ||
| - | memory = DEFAULT_PROVIDER_MEMORY; | ||
| - | cpus = DEFAULT_PROVIDER_CPUS; | ||
| - | |||
| - | chars = { :memory => DEFAULT_PROVIDER_MEMORY, | ||
| - | |||
| - | if host.has_key? | ||
| - | host[' | ||
| - | #memory = host[' | ||
| - | #memory = singlechar[' | ||
| - | #cpus = singlechar[' | ||
| - | chars[: | ||
| - | chars[: | ||
| - | end # singlechar | ||
| - | end | ||
| - | |||
| - | vm.provider :virtualbox do |v| | ||
| - | v.name = host[' | ||
| - | v.memory = chars[: | ||
| - | v.cpus = chars[: | ||
| - | v.linked_clone = chars[: | ||
| - | end | ||
| - | |||
| - | # caracteristicas.each_with_index do |v,k| | ||
| - | # #puts "# | ||
| - | # | ||
| - | # end | ||
| - | |||
| - | end | ||
| - | |||
| - | |||
| - | hosts = YAML.load_file(' | ||
| - | |||
| - | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
| - | |||
| - | hosts.each do |host| | ||
| - | config.vm.define host[' | ||
| - | node.vm.box = host[' | ||
| - | node.vm.hostname = host[' | ||
| - | node.vm.network : | ||
| - | |||
| - | do_ports(node.vm, | ||
| - | do_provision(node.vm, | ||
| - | do_syncfolder(node.vm, | ||
| - | do_provider(node.vm, | ||
| - | |||
| - | end # node | ||
| - | end # host | ||
| - | end # config | ||
| - | </ | ||
| - | |||
| - | <sxh yaml; title: Vagranthosts.yml> | ||
| - | - name: c7-gitlab | ||
| - | ip: 192.168.56.130 | ||
| - | box: centos/7 | ||
| - | shell: c7-gitlab.sh | ||
| - | ports: | ||
| - | - host: 8080 | ||
| - | guest: 80 | ||
| - | syncfolder: | ||
| - | - host: ' | ||
| - | guest: '/ | ||
| - | provider: | ||
| - | - cpus: 2 | ||
| - | memory: 512 | ||
| - | </ | ||