Kubernetes群集中的核心处于挂起状态

xmq68pz9  于 2022-12-26  发布在  Kubernetes
关注(0)|答案(7)|浏览(147)

我正在尝试配置2节点Kubernetes群集。首先,我尝试在CentOS VM上配置群集的主节点。我已使用“kubeadm init --apiserver-advertise-address=172.16.100.6 --pod-network-cidr= 10.244.0.0/16”初始化群集,并将Flannel网络部署到群集。但当我执行“kubectl get nodes”时,我得到下面的输出----

[root@kubernetus ~]# kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
kubernetus   NotReady   master   57m   v1.12.0

下面是“kubectl get pod--所有名称空间-o宽”的输出----

[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很多次&尝试重新创建集群,但是每次都显示相同的输出。有人能帮助我解决这个问题吗?

cl25kdpy

cl25kdpy1#

尝试安装Pod网络插件(根据本指南)。
运行此行:

kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
j2cgzkjk

j2cgzkjk2#

无法更新cni配置:在/etc/cni/net.d中未找到任何网络... 10月02日19:21:32 kubernetus kubelet[19007]:E1002 19:21:32.886170 19007 kubelet.go:2167]容器运行时网络未就绪:网络就绪=假原因:网络插件未就绪消息:扩展坞:网络插件未就绪:cni配置未初始化
根据这个错误,你忘记初始化一个Kubernetes Pod网络插件。看看你的设置,我猜它应该是Flannel。
以下是Kubernetes官方文档中的说明:
要使flannel正常工作,必须将--pod-network-cidr=10.244.0.0/16传递给kubeadm init。
通过运行sysctl net.bridge.bridge-nf-call-iptables=1/proc/sys/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

请注意,flannel可以在amd 64、arm、arm 64和ppc 64 le上工作,但在flannel v0.11.0发布之前,您需要使用以下支持所有架构的清单:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/c5d10c8/Documentation/kube-flannel.yml

有关详细信息,请访问此链接。

xjreopfe

xjreopfe3#

要使Kubernetes群集可用,该群集应具有容器网络接口(CNI)。要使dns pod正常工作,需要配置pod网络。
安装任何CNI提供程序,如:- 法兰绒-印花布- Canal -编织网等,
否则,托管的Kubernetes集群的主服务器将处于NotReady状态。

vybvopom

vybvopom4#

检查docker和kubernetes是否使用相同的cgroup驱动程序。我遇到了相同的问题(CentOS 7,kubernetes v1.14.1),设置相同的cgroup驱动程序(systemd)修复了它。

mrwjdhj3

mrwjdhj35#

我安装的kubernetes有1个主节点+1个工作节点。
在我创建了kubeadm init ...之后,我面临着两个问题:
1.在主节点上,coredns挂起。
1.在工作节点上,kubectl命令不起作用
在工作节点上,我执行了以下操作并修复了这两个问题:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/kubelet.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config**
fnx2tebb

fnx2tebb6#

对于我来说,我已经重新启动了系统并重新应用了calico。yaml、coredns和calico pod开始创建。

nnvyjq4y

nnvyjq4y7#

至少优先考虑这个解决方案,并且尝试改变示例类型(优选更高的CPU核心/RAM)在我的情况下,我已经将Linux示例t3.micro改变为t2.medium及其作品

相关问题