【问题标题】:Get https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default: dial tcp 10.96.0.1:443: i/o timeout]获取 https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default: dial tcp 10.96.0.1:443: i/o timeout]
【发布时间】:2022-03-05 00:20:11
【问题描述】:

我的 pod 通过这个按摩卡在 ContainerCreating 状态:

Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "483590313b7fd092fe5eeec92356152721df3e971d942174464ac5a3f1529898" network for pod "my-nginx": networkPlugin cni failed to set up pod "my-nginx_default" network: CNI failed to retrieve network namespace path: cannot find network namespace for the terminated container "483590313b7fd092fe5eeec92356152721df3e971d942174464ac5a3f1529898", failed to clean up sandbox container "483590313b7fd092fe5eeec92356152721df3e971d942174464ac5a3f1529898" network for pod "my-nginx": networkPlugin cni failed to teardown pod "my-nginx_default" network: error getting ClusterInformation: Get https://[10.96.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default: dial tcp 10.96.0.1:443: i/o timeout]

worker节点的状态是Ready。

kubectl get pods -n kube-system 的输出似乎有问题:

NAME                                       READY   STATUS                   RESTARTS   AGE
calico-kube-controllers-6dfcd885bf-ktbhb   1/1     Running                  0          22h
calico-node-4fs2v                          0/1     Init:RunContainerError   1          22h
calico-node-l9qvc                          0/1     Running                  0          22h
coredns-f9fd979d6-8pzcd                    1/1     Running                  0          23h
coredns-f9fd979d6-v4cq8                    1/1     Running                  0          23h
etcd-k8s-master                            1/1     Running                  1          23h
kube-apiserver-k8s-master                  1/1     Running                  128        23h
kube-controller-manager-k8s-master         1/1     Running                  4          23h
kube-proxy-bwtwj                           0/1     CrashLoopBackOff         342        23h
kube-proxy-stq7q                           1/1     Running                  1          23h
kube-scheduler-k8s-master                  1/1     Running                  4          23h
                                   

命令kubectl -n kube-system logs kube-proxy-bwtwj的结果是:

failed to try resolving symlinks in path "/var/log/pods/kube-system_kube-proxy-bwtwj_1a0f4b93-cc6f-46b9-bf29-125feba593cb/kube-proxy/348.log": lstat /var/log/pods/kube-system_kube-proxy-bwtwj_1a0f4b93-cc6f-46b9-bf29-125feba593cb/kube-proxy/348.log: no such file or directory

【问题讨论】:

  • 你是如何设置你的 CNI 的?
  • 我已经运行 kubectl apply -f docs.projectcalico.org/v3.14/manifests/calico.yaml 命令来应用 calico cni 并在集群启动期间设置了 --pod-network-cri=10.244.10.0/16 :sudo kubeadm init --apiserver-advertise-address=192.168.43.174 --pod-network-cidr=10.244.10.0/16
  • 你解决了吗?

标签: kubernetes


【解决方案1】:

我在这里看到两个主题:

  1. calico 的默认--pod-network-cidr192.168.0.0/16。您可以使用不同的,但始终确保没有覆盖。但是,我已经使用默认的进行了测试,并且我的集群运行没有问题。为了以正确的配置重新开始,您应该Remove the nodeClean up the control plane。然后继续:
  • kubeadm init --pod-network-cidr=192.168.0.0/16

  • mkdir -p $HOME/.kube

  • cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  • chown $(id -u):$(id -g) $HOME/.kube/config

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

  • 之后,使用kubeadm join 加入您的工作节点

在需要的地方/如果需要,使用sudo。所有必要的细节都可以在official documentation中找到。

  1. failed to try resolving symlinks 错误表示 kubelet 在错误目录中查找 pod 日志。为了修复它,您需要将 --log-dir=/var/log 标志传递给 kubelet。添加标志后,您已运行 systemctl daemon-reload,因此 kubelet 将重新启动。这必须在您的所有节点上完成。

【讨论】:

  • 我按照你提到的方式重置了 kubadm 并初始化了我的集群,但仍然创建了一个卡在容器创建中的 kube 代理 :(
  • 有人修吗?
【解决方案2】:

确保在将其他节点加入集群之前部署 calico。当您的集群中有其他节点时,calico-kube-controllers 有时会被推送到工作节点。这可能会导致问题

【讨论】:

    【解决方案3】:

    您需要仔细检查 calico-node pod 的日志。 就我而言,我有一些其他网络接口,而 calico 中的自动检测机制检测到错误的接口(IP 地址)。 您需要查阅此文档https://projectcalico.docs.tigera.io/reference/node/configuration

    就我而言,我所做的只是:

    kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=cidr=172.16.8.0/24
    

    cidr 是我的“工作网络”。 之后,所有的calico-nodes都重启了,突然一切都好了。

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2021-06-11
      • 2021-09-25
      • 2021-11-22
      • 2020-12-24
      • 1970-01-01
      相关资源
      最近更新 更多