问题原因
我在学习k8s集群的时候,选择使用calico为我的pod提供网络功能,但是出现了master节点的calico-node无法READY的情况
bash
[root@master01 ~]#kubectl -n kube-system get pod -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-784cc4bcb7-pvlmq 1/1 Running 0 2m52s 172.18.30.65 worker02 <none> <none>
calico-node-8xp7d 0/1 Running 0 2m52s 10.0.0.106 master01 <none> <none>
calico-node-c258k 1/1 Running 0 2m52s 10.0.0.107 worker01 <none> <none>
calico-node-xmt4n 1/1 Running 0 2m52s 10.0.0.108 worker02 <none> <none>
经过查看calico-node-8xp7d的日志发现了问题,原来是calico默认选择网卡的时候,选择了我的内网卡(我的master有两块网卡,一块对外通信,一块对内)
bash
[root@master01 ~]#kubectl -n kube-system logs -f calico-node-8xp7d -c calico-node --tail=200
#报错原因
2026-01-09 14:12:48.571 [INFO][50] monitor-addresses/autodetection_methods.go 103: Using autodetected IPv4 address on interface eth1: 172.16.1.150/24
解决方法
首先我们要删除calico相关pod,因为我是使用的calico.yaml文件创建的calico网络,所以可以使用kubectl delete 删除
bash
[root@master01 ~]#kubectl delete -f calico.yaml
然后修改calico.yaml文件内容,主要是修改calico-node的环境变量,添加一个名为IP_AUTODETECTION_METHOD的值
bash
root@master01 ~]#vim calico.yaml
containers: #注意这里一定要看准,是calico-node
# Runs calico-node container on each Kubernetes node. This
# container programs network policy and routes on each
# host.
- name: calico-node
image: docker.io/calico/node:v3.24.1
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
# Allow KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT to be overridden for eBPF mode.
name: kubernetes-services-endpoint
optional: true
env:
# Use Kubernetes API as the backing datastore.
- name: DATASTORE_TYPE
value: "kubernetes"
# Wait for the datastore.
- name: WAIT_FOR_DATASTORE
value: "true"
- name: IP_AUTODETECTION_METHOD #添加一个IP_AUTODETECTION_METHOD,随便加在一个value后就行
value: "cidr=10.0.0.0/24"
然后再次创建calico网络
bash
[root@master01 ~]#kubectl apply -f calico.yaml
#查看是否全部READY
[root@master01 ~]#kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-784cc4bcb7-vwrl2 1/1 Running 0 102m
calico-node-6fp2l 1/1 Running 0 102m
calico-node-7thdb 1/1 Running 0 102m
calico-node-ngfch 1/1 Running 0 102m