官网:https://docs.projectcalico.org/about/about-calico
安装 Calicoctl
下载二进制文件
curl -O -L https://github.com/projectcalico/calicoctl/releases/download/v3.7.2/calicoctl
拷贝到环境变量
chmod +x calicoctl
cp calicoctl /usr/bin/
查看节点状态
calicoctl node status
配置 Calicoctl
mkdir -p /etc/calico
vim /etc/calico/calicoctl.cfg
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
etcdEndpoints: https://172.17.230.35:2379
etcdKeyFile: /etc/kubernetes/pki/etcd/peer.key
etcdCertFile: /etc/kubernetes/pki/etcd/peer.crt
etcdCACertFile: /etc/kubernetes/pki/etcd/ca.crt
查看节点详细信息
calicoctl get nodes -o wide
处理报错
节点状态报错
calicoctl node status
...
Calico process is running.
IPv4 BGP status
+---------------+-------------------+-------+----------+--------------------------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+---------------+-------------------+-------+----------+--------------------------------+
| 172.17.230.33 | node-to-node mesh | start | 04:04:33 | Connect Socket: Connection |
| | | | | reset by peer |
| 172.17.230.36 | node-to-node mesh | start | 04:04:33 | OpenSent Socket: Connection |
| | | | | reset by peer |
+---------------+-------------------+-------+----------+--------------------------------+
IPv6 BGP status
No IPv6 peers found.
节点详情
calicoctl get nodes -o wide
...
NAME ASN IPV4 IPV6
k8s-master (unknown) 172.20.0.1/16
k8s-node1-ct (unknown) 172.17.230.33/20
k8s-node2-ub (unknown) 172.17.230.36/20
日志
kubectl -n kube-system logs calico-node-qhk44
...
bird: BGP: Unexpected connect from unknown address 172.17.230.35
总结
出现这个问题的原因是系统里存在多个 br 网桥, 导致 Calico 无法智能识别主机物理网卡- 解决方案
增加指定的自动探测网卡vim calico-etcd.yaml
``` name: IP_AUTODETECTION_METHOD value: “interface=eth0” ```
使用
kubectl delete -f calico-etcd.yaml
命令删除之前的节点, 重新创建kubectl apply -f calico-etcd.yaml