我正在尝试配置2节点Kubernetes集群。首先,我尝试在CentOS VM上配置集群的主节点。我已经使用'kubeadm init --apiserver-advertise-address = 172.16.100.6 --pod-network-cidr = 10.244.0.0 / 16'初始化了集群,并将法兰网部署到了集群。但是当我执行“ kubectl获取节点”时,我得到以下输出----
[root@kubernetus ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kubernetus NotReady master 57m v1.12.0
以下是'kubectl get pods --all-namespaces -o wide'的输出
[root@kubernetus ~]# kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
kube-system coredns-576cbf47c7-9x59x 0/1 Pending 0 58m <none> <none> <none>
kube-system coredns-576cbf47c7-l52wc 0/1 Pending 0 58m <none> <none> <none>
kube-system etcd-kubernetus 1/1 Running 2 57m 172.16.100.6 kubernetus <none>
kube-system kube-apiserver-kubernetus 1/1 Running 2 57m 172.16.100.6 kubernetus <none>
kube-system kube-controller-manager-kubernetus 1/1 Running 1 57m 172.16.100.6 kubernetus <none>
kube-system kube-proxy-hr557 1/1 Running 1 58m 172.16.100.6 kubernetus <none>
kube-system kube-scheduler-kubernetus 1/1 Running 1 57m 172.16.100.6 kubernetus <none>
coredns处于挂起状态的时间很长。我已经删除docker和kubectl,kubeadm,kubelet了几次,并尝试重新创建集群,但是每次显示相同的输出时。有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
尝试安装Pod网络附加组件(基于this guide)。
运行此行:
kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
答案 1 :(得分:1)
无法更新cni配置:在/etc/cni/net.d中找不到网络。 10月2日19:21:32 kubernetus kubelet [19007]:E1002 19:21:32.886170 19007 kubelet.go:2167]容器运行时网络未就绪: NetworkReady = false原因:NetworkPluginNotReady消息:docker: 网络插件尚未准备就绪:cni config未初始化
根据此错误,您忘记了初始化Kubernetes Pod网络附加组件。查看您的设置,我想应该是法兰绒。
这是Kubernetes官方文档中的说明:
要使法兰绒正常工作,您必须通过
--pod-network-cidr=10.244.0.0/16
到kubeadm init。通过运行将
/proc/sys/net/bridge/bridge-nf-call-iptables
设置为1sysctl net.bridge.bridge-nf-call-iptables=1
通过桥接的IPv4 iptables链的流量。这是某些CNI的要求 插件正常工作,有关更多信息,请参见此处。kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
请注意,法兰绒可在amd64,arm,arm64和ppc64le上使用,但直到 法兰绒v0.11.0发布,您需要使用以下清单 支持所有架构:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/c5d10c8/Documentation/kube-flannel.yml
有关更多信息,您可以访问此link。
答案 2 :(得分:0)
检查docker和kubernetes是否使用相同的cgroup驱动程序。 我遇到了同样的问题(CentOS 7,kubernetes v1.14.1),并设置了相同的cgroup驱动程序(systemd)对其进行了修复。
答案 3 :(得分:0)
要使Kubernetes群集可用,该群集应具有容器网络接口(CNI)。必须配置一个Pod网络才能使dns Pod正常工作。
安装任何CNI提供程序,例如: -绒布 -印花布 -运河 -WeaveNet等,
否则,托管的Kubernetes集群将使主服务器处于未就绪状态。
答案 4 :(得分:0)
我安装了 1 个主节点 + 1 个工作节点的 kubernetes。
制作 kubeadm init ...
后,我遇到了两个问题:
在工作节点上,我执行了以下操作并解决了这两个问题:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/kubelet.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config**