gpt4 book ai didi

Kubernetes NetworkPlugin cni 设置 pod 失败

转载 作者:行者123 更新时间:2023-12-02 12:32:43 25 4
gpt4 key购买 nike

关于我使用的以下描述 pod 的日志,我的 pod 由于“FailedCreatePodSandBox”而陷入挂起状态

有一些关键说明:
-我使用印花布作为 CNI。
- 这个日志重复多次,我只是把这个作为样本过去。
- ip 192.168.90.152 属于入口,129 属于 k8s 的监控 NS 中的分蘖,我不知道为什么 k8s 会尝试将其绑定(bind)到另一个 pod。

我在谷歌上搜索了这个问题,但我一无所获。

  Warning  FailedCreatePodSandBox  2m56s                   kubelet, worker-dev  Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "2abca59b55efb476723ec9c4402ede6e3a6ee9aed67ecd19c3ef5c7719ae51f1" network for pod "service-stg-8d9d68475-2h4b8": NetworkPlugin cni failed to set up pod "service-stg-8d9d68475-2h4b8_stg" network: error adding host side routes for interface: cali670b0a20d66, error: route (Ifindex: 10688, Dst: 192.168.90.152/32, Scope: 253) already exists for an interface other than 'cali670b0a20d66'
Warning FailedCreatePodSandBox 2m53s kubelet, worker-dev Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "ec155fd442c0ea09b282a13c4399ae25b97d5c3786f90f1a045449b52ced4cb7" network for pod "service-stg-8d9d68475-2h4b8": NetworkPlugin cni failed to set up pod "service-stg-8d9d68475-2h4b8_stg" network: error adding host side routes for interface: cali670b0a20d66, error: route (Ifindex: 10691, Dst: 192.168.90.129/32, Scope: 253) already exists for an interface other than 'cali670b0a20d66'

有人可以帮助解决这个问题吗?

最佳答案

根据 CNI 网络插件的设计和根据 Kubernetes 网络 model , Calico 定义特殊IP池CIDR CALICO_IPV4POOL_CIDR确定哪些 IP 范围可用于跨 k8s 集群分配 pod IP 地址。

当您在特定的 K8s 节点上启动新 Pod 时,Calico 插件将执行以下操作:

  • 检查该节点上是否存在Pod;
  • 从定义的 IPAM 内为该 Pod 分配 IP 地址
    范围;
  • 在节点的主机上创建一个虚拟接口(interface)和适当的
    路由规则以桥接 Pod 和 Pod 之间的网络流量
    容器;
  • 在 K8s API 服务器中注册 Pod IP。

  • 您可以在相关节点上获取有关 Calico 虚拟接口(interface)的数据,即:
    $ ip link | grep cali

    cali80d3ff89956@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP mode DEFAULT group default
    calie58f9d521fb@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP mode DEFAULT group default

    为了估计当前问题,可以考虑查询 Calico install-cni Pod 的容器记录并检索有关某个 Pod 的数据 service-stg-8d9d68475-2h4b8 ,搜索现有的虚拟接口(interface)映射:
    kubectl logs $(kubectl get po -l k8s-app=calico-node -o jsonpath='{.items[0].metadata.name}' -n kube-system) -c calico-node -n kube-system| grep service-stg-8d9d68475-2h4b8_stg

    关于Kubernetes NetworkPlugin cni 设置 pod 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57644528/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com