1. Calico
1.1 BIRD is not ready
|
|
calico-node-xxx 0/1 一直起不来,报错 calico/node is not ready: BIRD is not ready: BGP not established with
解决办法:Calico 默认使用 first-found,也就是从第一个找到的网卡中获取 NodeIP。虽然排除了 lo、docker0 等网卡,但是依然有一定概率会识别失败。需要手动修改,指定网卡。
- 查看主机上的网卡
|
|
- 编辑 Calico 部署文件
|
|
指定 IP_AUTODETECTION_METHOD
中的 interface 为网卡名即可,支持通配符。
|
|
2. Metric Server
2.1 无法访问 Metric Server
无法访问 Metric Server 服务解决办法:
kubectl -n kube-system edit deploy metrics-server
修改启动参数:
|
|
跳过证书验证、使用 Node 节点的 IP 进行通信。
3. NFS Storage
3.1 selfLink was empty
在 NFS 的 Pod 中会看到类似错误日志
|
|
解决办法:Kubernetes 1.20 开始, 默认删除了 metadata.selfLink
字段。但是 nfs-client-provisioner 依然使用了该字段。因此, 需要在 kube-apiserver 中开启。编辑 /etc/kubernetes/manifests/kube-apiserver.yaml
, 在启动参数中添加一行 - --feature-gates=RemoveSelfLink=false
即可。