我想設置kubernetes使用kubeadm 1.6。主站和節點是使用Vagrant和Ubuntu 16.04框創建的。我遵循了所有的指示,無法弄清楚。kubeadm說cni配置未初始化節點使用編織
流浪文件:
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.box_check_update = false
config.vm.provider "virtualbox" do |vb|
vb.cpus = 2
vb.memory = "1024"
end
config.vm.provision "shell", path: "provision.sh"
config.vm.define "master" do |c|
c.vm.hostname = "master"
c.vm.network "private_network", ip: "192.168.50.2", netmask: "255.255.255.0", auto_config: true, virtualbox__intnet: "k8s-net"
c.vm.provision :shell, inline: "sed 's/127\.0\.0\.1.*master.*/192\.168\.50\.2 master/' -i /etc/hosts"
end
config.vm.define "node1" do |c|
c.vm.hostname = "node1"
c.vm.network "private_network", ip: "192.168.50.3", netmask: "255.255.255.0", auto_config: true, virtualbox__intnet: "k8s-net"
c.vm.provision :shell, inline: "sed 's/127\.0\.0\.1.*node1.*/192\.168\.50\.3 node1/' -i /etc/hosts"
end
config.vm.define "node2" do |c|
c.vm.hostname = "node2"
c.vm.network "private_network", ip: "192.168.50.4", netmask: "255.255.255.0", auto_config: true, virtualbox__intnet: "k8s-net"
c.vm.provision :shell, inline: "sed 's/127\.0\.0\.1.*node2.*/192\.168\.50\.4 node2/' -i /etc/hosts"
end
end
初始化kubeadm
須藤kubeadm INIT --apiserver-通告地址= 192.168.50.2
執行提供的命令
sudo cp /etc/kubernetes/admin.conf $ HOME/ s UDO CHOWN $(ID -u):$(ID -g)$ HOME/admin.conf中 出口KUBECONFIG = $ HOME/admin.conf中
設置編織
kubectl申請--filename https://git.io/weave-kube-1.6
確認主模式已準備好,並且該dns窗格正在運行。
加入節點沒有錯誤。
kubeadm加入--token 2f17fd.c5f6abcccdfa8c7a 192.168.50.2:6443
節點出現在主,但從來沒有進入就緒狀態。運行kubectl描述節點節點1顯示了這個錯誤:
KubeletNotReady運行網絡沒有準備好:NetworkReady =虛假理由:NetworkPluginNotReady消息:泊塢窗:網絡插件還沒有準備好:CNI配置初始化
爲什麼我收到這個錯誤?我嘗試安裝kubeadm 1.5.6,並得到相同的錯誤。
請幫忙。
更新 找到了解決辦法在這裏:How to get kube-dns working in Vagrant cluster using kubeadm and Weave
首先,找到通過運行在主以下的公網IP。
在每個節點上,確保使用10.96.0.1(對我來說)的任何進程被路由到主那是10.30.3.41。
所以在每個節點(你可以跳過主)使用路由來設置重定向。
route add 10.96.0.1 gw 10.30.3.41
如果我沒有弄錯這些規則存在於編織yaml https://git.io/weave-kube-1.6的1.6版本中。 –