我知道这个问题被问了十几次,但在网上搜索时没有任何帮助。
我的设置:
CentOS Linux release 7.5.1804 (Core)
Docker Version: 18.06.1-ce
Kubernetes: v1.12.3由官方指南安装,此处为:https://www.techrepublic.com/article/how-to-install-a-kubernetes-cluster-on-centos-7/
CoreDNS pods处于Error/CrashLoopBackOff状态。
kube-system coredns-576cbf47c7-8phwt 0/1 CrashLoopBackOff 8 31m
kube-system coredns-576cbf47c7-rn2qc 0/1 CrashLoopBackOff 8 31m我的/etc/resolv.conf:
nameserver 8.8.8.8我还尝试使用本地dns解析器(路由器)
nameserver 10.10.10.1设置和初始化:
kubeadm init --apiserver-advertise-address=10.10.10.3 --pod-network-cidr=192.168.1.0/16
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml我尝试用以下方法来解决这个问题:编辑核心: root@kub~]# kubectl edit cm coredns -n kube-system并更改
proxy . /etc/resolv.conf直接转到
proxy . 10.10.10.1或者代理。8.8.8.8
我也尝试过:
kubectl -n kube-system get deployment coredns -o yaml | sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | kubectl apply -f -但还是帮不了我。
日志中的错误:
plugin/loop: Seen "HINFO IN 7847735572277573283.2952120668710018229." more than twice, loop detected另一个线程- coredns pods have CrashLoopBackOff or Error state根本没有帮助,因为我还没有找到那里描述的任何解决方案。什么都没有用。
发布于 2019-03-26 15:01:35
甚至我也遇到过这样的错误,我成功地通过以下步骤完成了工作。
但是,您错过了8.8.4.4
sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4运行以下命令以重新启动后台进程和docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker如果您使用的是kubeadm,请确保从master中删除整个集群,然后重新配置集群。
kubectl drain <node_name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node_name>
kubeadm reset调配新群集后
kubectl get pods --all-namespaces它应该提供低于预期的结果
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-node-gldlr 2/2 Running 0 24s
kube-system coredns-86c58d9df4-lpnj6 1/1 Running 0 40s
kube-system coredns-86c58d9df4-xnb5r 1/1 Running 0 40s
kube-system kube-proxy-kkb7b 1/1 Running 0 40s
kube-system kube-scheduler-osboxes 1/1 Running 0 10s发布于 2018-12-03 02:09:53
$kubectl编辑cm coredns -n kube-系统删除‘$kubectl’,保存并退出重启主节点。对我来说是工作。
发布于 2018-12-01 09:51:06
通常发生在coredns无法与kube-apiserver通信时:
检查您的kubernetes服务是否在默认名称空间中:
$ kubectl get svc kubernetes
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 130d然后(您可能需要创建一个pod):
$ kubectl -n kube-system exec -it <any-pod-with-shell> sh
# ping kubernetes.default.svc.cluster.local
PING kubernetes.default.svc.cluster.local (10.96.0.1): 56 data bytes另外,尝试从端口访问端口443:
# telnet kubernetes.default.svc.cluster.local 443 # or
# curl kubernetes.default.svc.cluster.local:443https://stackoverflow.com/questions/53559291
复制相似问题