tech:vagrant:casosuso:master_template

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

tech:vagrant:casosuso:master_template [03/05/2019 01:58] – creat matetech:vagrant:casosuso:master_template [16/11/2021 02:51] (actual) – suprimit mate
Línia 1: Línia 1:
-= master template 
  
-== master (DSP) 
-  * la configuración de las VM está en fichero separado 
- 
-<sxh ruby; highlight:[13-14]; title: Vagrantfile> 
-API_VERSION = '2' 
-VMS_FILE_PATH = 'vagrant/vms.yml' 
- 
-hosts = YAML.load_file(VMS_FILE_PATH) 
- 
-Vagrant.configure(API_VERSION) do |config| 
-  hosts.each do |host| 
-    config.vm.define host['name'] do |node| 
-      node.vm.box = host['box'] 
-      node.vm.hostname = host['hostname'] 
-      node.vm.network :private_network, ip: host['ip'] 
- 
-      host['sync']&.each { |sync| config.vm.synced_folder sync['host'], sync['guest'], type: sync['type'] } 
-      host['ports']&.each { |port| node.vm.network :forwarded_port, guest: port['guest'], host: port['host'] } 
- 
-      if host['ansible_local'] 
-        host['ansible_local']['playbooks']&.each { |pb| 
-          config.vm.provision :ansible_local do |ansible| 
-             ansible.limit = pb['limit'] 
-             ansible.become = pb['become'] 
-             ansible.playbook = pb['playbook'] 
-             ansible.inventory_path = pb['inventory'] 
-             ansible.version = host['ansible_local']['config']['version'] 
-             ansible.install_mode = host['ansible_local']['config']['mode'] 
-          end 
-        } 
-      end 
- 
-      config.vm.provider :virtualbox do |v| 
-        v.linked_clone = true 
-        v.name = host['name'] 
-        v.cpus = host['cpus'] 
-        v.memory = host['memory'] 
-      end 
-    end 
-  end 
-end 
-</sxh> 
- 
-<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: "all" 
-        become: true 
-        playbook: ./ansible/prerequisites.yml 
-        inventory: ./ansible/inventory/hosts 
-      - limit: "all" 
-        become: true 
-        playbook: ./openshift-ansible/playbooks/byo/config.yml 
-        inventory: ./ansible/inventory/hosts 
-</sxh> 
- 
-== master 
-<sxh ruby; title: Vagrantfile> 
-VAGRANTFILE_API_VERSION = '2' 
-DEFAULT_PROVIDER_MEMORY = '256' 
-DEFAULT_PROVIDER_CPUS = '2' 
-DEFAUTL_LINKED_CLONE = true 
- 
-def do_ports(vm, host) 
-  if host.has_key?('ports') 
-    host['ports'].each do |port| 
-      vm.network :forwarded_port, guest: port['guest'], host: port['host'] 
-    end  
-  end  
-end 
- 
-def do_provision(vm,host) 
-  if host.has_key?('shell') 
-    vm.provision "shell",path: host['shell'] 
-  end  
-end 
- 
-def do_syncfolder(vm,host) 
-  if host.has_key?('syncfolder') 
-    host['syncfolder'].each do |syncf| 
-      vm.synced_folder syncf['host'], syncf['guest'] 
-    end  
-  end  
-end 
- 
- 
-def do_provider(vm,host) 
-  memory = DEFAULT_PROVIDER_MEMORY; 
-  cpus = DEFAULT_PROVIDER_CPUS; 
- 
-  chars = { :memory => DEFAULT_PROVIDER_MEMORY, :cpus => DEFAULT_PROVIDER_CPUS, :linked_clone => DEFAULT_LINKED_CLONE } 
- 
-  if host.has_key?('provider') 
-    host['provider'].each do |singlechar| 
-      #memory = host['memory'] ? host['memory'] : DEFAULT_PROVIDER_MEMORY; 
-      #memory = singlechar['memory'] ? singlechar['memory'] : DEFAULT_PROVIDER_MEMORY; 
-      #cpus = singlechar['cpus'] ? singlechar['cpus'] : DEFAULT_PROVIDER_CPUS; 
-      chars[:memory] = singlechar['memory'] ? singlechar['memory'] : DEFAULT_PROVIDER_MEMORY; 
-      chars[:cpus] = singlechar['cpus'] ? singlechar['cpus'] : DEFAULT_PROVIDER_CPUS; 
-    end # singlechar 
-  end 
- 
-  vm.provider :virtualbox do |v| 
-    v.name = host['name'] 
-    v.memory = chars[:memory] 
-    v.cpus = chars[:cpus] 
-    v.linked_clone = chars[:linked_clone] 
-  end 
- 
-  # caracteristicas.each_with_index do |v,k| 
-  #   #puts "#{k}" 
-  #   vm.provider.k = v[k] 
-  # end 
- 
-end 
- 
- 
-hosts = YAML.load_file('Vagranthosts.yml') 
- 
-Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
- 
-  hosts.each do |host| 
-    config.vm.define host['name'] do |node| 
-      node.vm.box = host['box'] 
-      node.vm.hostname = host['name'] 
-      node.vm.network :private_network, ip: host['ip'] 
- 
-      do_ports(node.vm,host) 
-      do_provision(node.vm,host) 
-      do_syncfolder(node.vm,host) 
-      do_provider(node.vm,host) 
- 
-    end # node 
-  end # host 
-end  # config 
-</sxh> 
- 
-<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: './data' 
-      guest: '/vagrant' 
-  provider: 
-    - cpus: 2 
-      memory: 512 
-</sxh> 
  • tech/vagrant/casosuso/master_template.1556873889.txt.gz
  • Darrera modificació: 03/05/2019 01:58
  • per mate