簡體   English   中英

Nginx Kubernetes POD 停留在 ContainerCreating

[英]Nginx Kubernetes POD stays in ContainerCreating

我能夠使用一個主節點和兩個工作節點在 Centos7 上設置 Kubernetes 集群,但是當我嘗試使用 nginx 部署一個 pod 時,該 pod 的狀態永遠保持在 ContainerRunning 並且似乎沒有擺脫它。

對於 pod 網絡,我使用的是印花布。 你能幫我解決這個問題嗎? 出於某種原因,如果不解決這個問題,我對繼續前進感到不滿意,我試圖檢查論壇等,自過去兩天以來,這是我與您聯系的最后手段。

[root@kube-master ~]# kubectl get pods --all-namespaces
[get pods result][1]

但是,當我運行 describe pods 時,我在 events 部分下看到 nginx 容器的以下錯誤。

Warning  FailedCreatePodSandBox  41s (x8 over 11m)     kubelet,
kube-worker1  (combined from similar events): Failed to create pod
sandbox: rpc error: code = Unknown desc = failed to set up sandbox
container
"ac77a42270009cba0c508e2fd82a84d6caef287bdb117d288d5193960b52abcb"
network for pod "nginx-6db489d4b7-2r4d2": networkPlugin cni failed to
set up pod "nginx-6db489d4b7-2r4d2_default" network: unable to connect
to Cilium daemon: failed to create cilium agent client after 30.000000
seconds timeout: Get http:///var/run/cilium/cilium.sock/v1/config:
dial unix /var/run/cilium/cilium.sock: connect: no such file or
directory

希望你能在這里提供幫助。

編輯1:

主VM的ip地址是192.168.40.133

使用以下命令初始化 kubeadm: kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address 192.168.40.133

使用以下命令安裝 pod 網絡: kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

上面的kubeadm init給了我用來將工作人員加入集群的 join 命令。

所有 VM 都連接到主機和橋接網絡適配器。

您的 pod 子網(由--pod-network-cidr指定)與您的虛擬機所在的網絡發生沖突:這兩個必須是不同的。 為 pod 子網使用其他東西,例如10.244.0.0/16 ,然后在應用它之前編輯 calico.yaml 如官方文檔中所述

POD_CIDR="10.244.0.0/16"
kubeadm init --pod-network-cidr=${POD_CIDR} --apiserver-advertise-address 192.168.40.133
curl https://docs.projectcalico.org/manifests/calico.yaml -O
sed -i -e "s?192.168.0.0/16?${POD_CIDR}?g" calico.yaml
kubectl apply -f calico.yaml

希望這可以幫助 :)

注意:您實際上並不需要指定--apiserver-advertise-address標志: kubeadm大部分時間都會正確檢測機器的主 IP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM