我正在尝试使用 kubeadm 1.6 设置 kubernetes。主节点和节点是使用带有 Ubuntu 16.04 框的 Vagrant 创建的。我按照所有说明进行操作,但无法弄清楚。
流浪文件:
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
sudo kubeadm init --apiserver-advertise-address=192.168.50.2
运行提供的命令
sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.conf export KUBECONFIG=$HOME/admin.conf
设置编织
kubectl apply --filename https://git.io/weave-kube-1.6
验证主模式已就绪且 dns pod 正在运行。
加入没有错误的节点。
kubeadm 加入 --token 2f17fd.c5f6abcccdfa8c7a 192.168.50.2:6443
节点出现在主节点上,但从未进入就绪状态。运行 kubectl describe node node1 显示此错误:
KubeletNotReady 运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化
为什么我会收到此错误?我尝试安装 kubeadm 1.5.6 并得到同样的错误。
请帮忙。
更新 在这里找到了解决方案:How to get kube-dns working in Vagrant cluster using kubeadm and Weave
首先,通过在 master 上运行以下命令找到公共 IP。
kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.96.0.1 <none> 443/TCP 1h
在每个节点中,确保任何使用 10.96.0.1(在我的情况下)的进程都被路由到 10.30.3.41 上的主节点。
所以在每个节点上(你可以跳过主节点)使用路由来设置重定向。
route add 10.96.0.1 gw 10.30.3.41