无法在 Kubernetes 上设置 Calico

问题描述

尝试设置 Calico 本地 Kubernetes 集群。

初始化集群 kubeadm init --pod-network-cidr=192.168.0.0/16 使用 https://docs.projectcalico.org/manifests/calico.yaml 清单。

~# calicoctl node status
Calico process is running.

IPv4 BGP status
+---------------+-------------------+-------+----------+---------+
| PEER ADDRESS  |     PEER TYPE     | STATE |  SINCE   |  INFO   |
+---------------+-------------------+-------+----------+---------+
| 10.25.13.69   | node-to-node mesh | start | 13:49:12 | Connect |
+---------------+-------------------+-------+----------+---------+

calico-node 抱怨: calico/node is not ready: BIRD is not ready: BGP not established with 10.25.13.69

Connect 究竟是什么意思?去哪里找问题?可能与多个 kubeadm reset 相关吗?

解决方法

由于节点具有不同的网络接口,calico-node 会自动检测节点上的不同网络。为了解决这个问题,我将 IP_AUTODETECTION_METHOD env var 添加到 calico-node DaemonSet。就我而言,我使用了这些 env var 值:

   # Auto-detect the BGP IP address.
   - name: IP
     value: "autodetect"
   - name: IP_AUTODETECTION_METHOD
     value: cidr=10.0.0.0/8