我正在尝试学习 k8s,因为我碰巧可以访问 OpenStack 云,所以我想我会按照这个 wiki尝试在上面安装 k8s 。
到目前为止,我已经能够初始化集群、安装 weave CNI、连接外部工作人员并安装 OpenStack 云控制器管理器。根据上面的 Wiki,现在我应该等待 kube-system 命名空间中的所有 pod 运行。不过,我被coredns pod 困住了……它们不会从Pending状态移动。
从 pod 的描述中,我可以看到我的问题是主节点仍然有以下污点:
node-role.kubernetes.io/master:NoSchedule
当我检查节点的状态时,它似乎很好:
ubuntu@master-node-01:~$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master-node-01 Ready master 10h v1.17.0 10.99.53.6 <none> Ubuntu 18.04.5 LTS 4.15.0-143-generic docker://20.10.2
worker-node-01 Ready <none> 10h v1.17.0 10.99.53.5 <none> Ubuntu 18.04.5 LTS 4.15.0-143-generic docker://20.10.2
所有的 pod(除了 coredns 的)都运行良好:
ubuntu@master-node-01:~$ kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system coredns-6955765f44-g2jnm 0/1 Pending 0 10h <none> <none> <none> <none>
kube-system coredns-6955765f44-wj7xb 0/1 Pending 0 10h <none> <none> <none> <none>
kube-system etcd-master-node-01 1/1 Running 0 11h 10.99.53.6 master-node-01 <none> <none>
kube-system kube-apiserver-master-node-01 1/1 Running 0 11h 10.99.53.6 master-node-01 <none> <none>
kube-system kube-controller-manager-master-node-01 1/1 Running 0 11h 10.99.53.6 master-node-01 <none> <none>
kube-system kube-proxy-8s8r9 1/1 Running 0 10h 10.99.53.5 worker-node-01 <none> <none>
kube-system kube-proxy-vtgnz 1/1 Running 0 10h 10.99.53.6 master-node-01 <none> <none>
kube-system kube-scheduler-master-node-01 1/1 Running 0 11h 10.99.53.6 master-node-01 <none> <none>
kube-system openstack-cloud-controller-manager-dtczj 1/1 Running 0 10h 10.99.53.6 master-node-01 <none> <none>
kube-system weave-net-2z5n7 2/2 Running 2 10h 10.99.53.5 worker-node-01 <none> <none>
kube-system weave-net-tm9p4 2/2 Running 1 10h 10.99.53.6 master-node-01 <none> <none>
我在 pod 的日志中发现了任何可疑的东西。
我使用的 OpenStack 没有安装 Octavia(Wiki 说设置 LB 需要它,但我的问题似乎与此无关)。
如果这里的任何人能够帮助我找到调查(并最终解决)这个问题的方法,将不胜感激。谢谢。