Vagrant provision order

Viewed 92

I try to install kubernetes with istio. Here is snippet from Vagrantfile(copied from github)

    config.vm.define "k8s-master" do |master|                                                                                                                                
        master.vm.box = IMAGE_NAME                                                                                                                                           
        master.vm.network "private_network", ip: "192.168.50.10"                                                                                                             
        master.vm.hostname = "k8s-master"                                                                                                                                    
        master.vm.provision "ansible" do |ansible|                                                                                                                           
            ansible.playbook = "kubernetes-setup/master-playbook.yml"                                                                                                        
        end                                                                                                                                                                  
    end                                                                                                                                                                      
                                                                                                                                                                             
    (1..N).each do |i|                                                                                                                                                       
      config.vm.define "node-#{i}" do |node|                                                                                                                                 
        node.vm.box = IMAGE_NAME                                                                                                                                             
        node.vm.network "private_network", ip: "192.168.50.#{i + 10}"                                                                                                        
        node.vm.hostname = "node-#{i}"                                                                                                                                       
        node.vm.provision "ansible" do |ansible|                                                                                                                             
          ansible.playbook = "kubernetes-setup/node-playbook.yml"                                                                                                            
        end                                                                                                                                                                  
      end                                                                                                                                                                    
    end 

If I put installation of istio into k8s-master playbook, it fails. I assume this happens because worker nodes are not installed yet, and istio can't provision its infrastructure. I need to run second playbook on k8s-master after provisioning workers. What is solution?

0 Answers
Related