kubernetes - 为什么 calico 在 Kubernetes 中缺少一些节点对等地址?
问题描述
我正在使用 kubernetes v1.18 并使用 calico 作为我的 CNI 插件,这是 calico pod 状态(删除不相关的 pod):
[root@localhost ~]# kubectl get pods --all-namespaces -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-75d555c48-lt4jr 1/1 Running 0 2d12h 10.11.102.134 localhost.localdomain <none> <none>
calico-node-6rj58 1/1 Running 0 37h 192.168.31.30 k8sslave1 <none> <none>
calico-node-czhww 1/1 Running 0 2d12h 192.168.31.29 localhost.localdomain <none> <none>
calico-node-vwr5w 1/1 Running 0 2d12h 192.168.31.31 k8sslave2 <none> <none>
calicoctl 1/1 Running 0 93m 192.168.31.31 k8sslave2 <none> <none>
我在我的主主机节点中安装了 calicoctl:
curl -O -L https://github.com/projectcalico/calicoctl/releases/download/v3.15.1/calicoctl
chmod +x calicoctl
mv calicoctl /usr/local
并获取calico节点状态。
[root@localhost ~]# calicoctl node status
Calico process is running.
IPv4 BGP status
+---------------+-------------------+-------+----------+-------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+---------------+-------------------+-------+----------+-------------+
| 192.168.31.31 | node-to-node mesh | up | 02:56:08 | Established |
| 192.168.31.30 | node-to-node mesh | up | 02:56:09 | Established |
+---------------+-------------------+-------+----------+-------------+
IPv6 BGP status
No IPv6 peers found.
192.168.31.29
问题是:为什么找不到master calico节点?所有 pod 运行良好,我不知道如何找到原因。
解决方案
问题是:为什么找不到master 192.168.31.29 calico节点?
听起来 Calico 无法NODENAME
为主人找回你的东西。我看到它localhost.localdomain
在您的命令输出中定义。
如果您看到文档,Calico 需要能够确定您NODENAME
要添加 calico/node 资源并将其视为“网格”的一部分。
calico/node 必须知道它正在运行的节点的名称。节点名称用于检索为该节点配置的 Node 资源(如果存在),如果不存在则创建代表该节点的新节点资源。它还用于将节点与每个节点的 BGP 配置、felix 配置和端点相关联。
另一个问题是,您是否打算在您的 Kubernetes 主服务器上运行工作负载?如果你不这样做,那么你的设置现在很好。如果您这样做,那么是的,您必须确保 Calico(覆盖)工作,以便您的工作负载具有网络连接。
推荐阅读
- javascript - 将 Express 中间件添加到 NextJS typrescript 后网站未呈现
- node.js - 第一次部署,我不知道为什么它不起作用
- python - FlaskForm 多重验证和条件验证
- javascript - 从行数据复制到 JavaScript 中的剪贴板
- firebase - Firebase 用户上次登录日期返回今天的日期
- neo4j - Neo4j/Cypher 导入 CSV 文件
- kubernetes - k8s Pod 1 获取错误 pod 2 的 IP 地址
- line - 如何根据他们在android中调整视图
- flutter - 获取初始路由颤动的查询参数
- sml - SML:为什么返回类型是单位?