一、环境信息
操作系统 | K8S版本 | containerd版本 |
---|---|---|
Centos7.6 | v1.24.17 | v1.6.12 |
二、背景信息
部署完K8S集群后,使用如下命令测试集群,进入pod中发现无法解析k8s默认域名和无法ping通外网,宿主机主机是可以ping通外网的
bash
root@k8s-master-63:~# kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes.default
通过以下命令检查网络插件coredns的状态,发现coredns报错had untolerated taint {node.kubernetes.io/not-ready
bash
root@k8s-master-63:~# kubectl describe pods -n kube-system calico-kube-controllers-55fc758c88-s9dtz
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 23m default-scheduler 0/4 nodes are available: 4 node(s) had untolerated taint {node.kubernetes.io/not-ready: }. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.
Normal Scheduled 20m default-scheduler Successfully assigned kube-system/coredns-7f74c56694-q8dz6 to k8s-master-63
Normal Pulled 20m kubelet Container image "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.6" already present on machine
Normal Created 20m kubelet Created container coredns
Normal Started 20m kubelet Started container coredns
三、解决方法
报错原因:k8s节点不可调度。
bash
# 1、解除调度
kubectl uncordon k8s-master-63
kubectl uncordon k8s-master-64
kubectl uncordon k8s-master-65
kubectl uncordon k8s-worker-66
# 2、删除coredns
kubectl delete pod -n kube-system coredns-7f74c56694-24wql
kubectl delete pod -n kube-system coredns-7f74c56694-hsvpk
如下所示,则表示正常
bash
root@k8s-master-63:~# kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes.default
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: kubernetes.default
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
/ #
/ # ping www.baidu.com
PING www.baidu.com (14.119.104.189): 56 data bytes
64 bytes from 14.119.104.189: seq=0 ttl=56 time=18.861 ms
64 bytes from 14.119.104.189: seq=1 ttl=56 time=9.493 ms
64 bytes from 14.119.104.189: seq=2 ttl=56 time=26.687 ms
64 bytes from 14.119.104.189: seq=3 ttl=56 time=25.154 ms
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战