1.报错
部署calico后发现pod一直起不来,查看错误:
root@node01:~/calico# kubectl get pod -n calico-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-7944959f8b-jd6mw 1/1 Running 0 14h
calico-node-hrg4p 0/1 Running 163 (28s ago) 14h
calico-typha-786544f657-pc75t 0/1 CrashLoopBackOff 163 (4m29s ago) 14h
csi-node-driver-sz8dh 2/2 Running 0 14h
# 查看详细信息:
root@node01:~/calico# kubectl describe pod -n calico-system calico-typha-786544f657-pc75t
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 51m (x156 over 14h) kubelet Created container calico-typha
Normal Pulled 21m (x161 over 14h) kubelet Container image "docker.io/calico/typha:v3.28.1" already present on machine
Warning Unhealthy 6m32s (x1809 over 14h) kubelet Readiness probe failed: Get "http://localhost:9098/readiness": dial tcp [::1]:9098: connect: connection refused
Warning BackOff 101s (x1925 over 14h) kubelet Back-off restarting failed container calico-typha in pod calico-typha-786544f657-pc75t_calico-system(e7438823-9b0e-4d44-8309-59ea1cb64a7b)
2.解决
错误原因:
由于安装kubernetes是,用cat > /etc/hosts <<EOF 这个方式把内容覆盖了导致。
# 查看/etc/hosts
cat /etc/hosts
10.121.218.50 node01
10.121.218.49 node02
10.121.218.48 node03
解决办法:
在/etc/hosts中添加如下内容:
127.0.0.1 localhost
127.0.1.1 node01
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# 查看calico运行情况:
root@node01:~# kubectl get pod -n calico-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-7944959f8b-jd6mw 1/1 Running 0 15h
calico-node-hvsfk 1/1 Running 0 32m
calico-typha-786544f657-s6ctm 1/1 Running 0 32m
csi-node-driver-sz8dh 2/2 Running 0 15h