尝试登录到 pod 时,为什么会看到超时错误?
排查工作节点上 Pod 执行超时问题。
经典基础设施
您删除了集群中的工作程序节点,然后添加了工作程序节点。 当您部署 Pod 或 Kubernetes 服务时,该资源无法访问新创建的工作节点,导致连接超时。
如果从集群中删除工作程序节点,然后添加工作程序节点,那么可能会将已删除工作程序节点的专用 IP 地址分配给新工作程序节点。 Calico 使用此专用 IP 地址作为标记,并继续尝试访问已删除的节点。
手动更新专用 IP 地址的引用以指向正确的节点。
-
确认您是否有两个工作程序节点使用相同的专用 IP 地址。 记下已删除的工作程序的专用 IP 和标识。
ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_IDID Public IP Private IP Machine Type State Status Zone Version kube-dal10-cr9b7371a7fcbe46d08e04f046d5e6d8b4-w1 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready dal10 1.35 kube-dal10-cr9b7371a7fcbe46d08e04f046d5e6d8b4-w2 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 deleted - dal10 1.35 -
安装 Calico CLI。
-
列出 Calico 中的可用工作程序节点。 将
<path_to_file>替换为 Calico 配置文件的本地路径。calicoctl get nodes --config=filepath/calicoctl.cfgNAME kube-dal10-cr9b7371a7faaa46d08e04f046d5e6d8b4-w1 kube-dal10-cr9b7371a7faaa46d08e04f046d5e6d8b4-w2 -
删除 Calico 中的重复工作程序节点。 将 NODE_ID 替换为工作程序节点标识。
calicoctl delete node NODE_ID --config=<path_to_file>/calicoctl.cfg -
重新引导未删除的工作程序节点。
ibmcloud oc worker reboot --cluster <cluster_name_or_id> --worker <worker_id>
已删除的节点不会再在 Calico 中列出。