k8s(网络组件calico)pod到service域名解析错误解决
问题:安装配置k8s calico网络后, pods之间网络互通,但在测试pod上通过nslookup 获取指定service的域名解析时异常解决思路:查看calico日志calico报错Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established安装配置calicoctl...
·
问题:安装配置k8s calico网络后, pods之间网络互通,但在测试pod上通过nslookup 获取指定service的域名解析时异常
解决思路:
查看calico日志
calico报错Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established
安装配置calicoctl工具查看calico-node状态
安装配置过程如下(master 节点和node节点都安装):
wget https://github.com/projectcalico/calicoctl/releases/download/v3.10.0/calicoctl -O /usr/bin/calicoctl
chmod +x /usr/bin/calicoctl
#配置calicoctl.cfg(通过kubeadm安装的k8s集群,只需在master 节点配置即可)
mkdir -p /etc/calico
vi /etc/calico/calicoctl.cfg
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
datastoreType: "kubernetes"
kubeconfig: "/root/.kube/config"
获取calico-node状态
calicoctl node status
结果显示node节点的calico-node状态为start, info显示为Passive
在woker节点查看calico-node状态, 则获取的master节点的ip地址并非master节点的实际IP地址
修改calico的yaml文件,添加
# Specify interface
- name: IP_AUTODETECTION_METHOD
value: "interface=ens33" #以实际网卡名称为准
添加结果如下:
执行以下命令更新calico
kubectl apply -f calico-3.9.2.yaml
完成更新后查看calico-node状态确认是否变为up状态, info是否为Established状态
确认正常后,pod到service之间的ip不能ping通,域名解析正常,wget获取页面信息正常
参考:
https://github.com/projectcalico/calico/issues/2561
更多推荐
已为社区贡献3条内容
所有评论(0)