Hak*_*n89 4 docker kubernetes centos7 coredns
我知道这个问题被问了十遍,但没有任何帮助通过互联网搜索。
我的设置:
CentOS Linux release 7.5.1804 (Core)
Docker Version: 18.06.1-ce
Kubernetes: v1.12.3
Run Code Online (Sandbox Code Playgroud)
由官方指南和本指南安装:https : //www.techrepublic.com/article/how-to-install-a-kubernetes-cluster-on-centos-7/
CoreDNS窗格处于Error / CrashLoopBackOff状态。
kube-system coredns-576cbf47c7-8phwt 0/1 CrashLoopBackOff 8 31m
kube-system coredns-576cbf47c7-rn2qc 0/1 CrashLoopBackOff 8 31m
Run Code Online (Sandbox Code Playgroud)
我的/etc/resolv.conf:
nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
还尝试了我的本地dns-resolver(router)
nameserver 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
设置和初始化:
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
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方法解决此问题:编辑coredns:root @ kub〜]#kubectl编辑cm coredns -n kube-system并进行更改
proxy . /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
直接到
proxy . 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
或代理。8.8.8.8
还试图:
kubectl -n kube-system get deployment coredns -o yaml | sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | kubectl apply -f -
Run Code Online (Sandbox Code Playgroud)
仍然没有任何帮助。
日志错误:
plugin/loop: Seen "HINFO IN 7847735572277573283.2952120668710018229." more than twice, loop detected
Run Code Online (Sandbox Code Playgroud)
另一个线程-coredns Pod具有CrashLoopBackOff或Error状态根本没有帮助,因为我还没有找到那里描述的任何解决方案。没有任何帮助。
即使我遇到了这样的错误,也可以按照以下步骤成功地工作。
但是,您错过了8.8.4.4
须藤纳米等/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
运行以下命令以重新启动守护程序和docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
Run Code Online (Sandbox Code Playgroud)
如果您使用的是kubeadm,请确保从master群集中删除整个群集,然后再次置备群集。
kubectl drain <node_name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node_name>
kubeadm reset
Run Code Online (Sandbox Code Playgroud)
设置新群集后
kubectl get pods --all-namespaces
Run Code Online (Sandbox Code Playgroud)
它应该给出低于预期的结果
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
Run Code Online (Sandbox Code Playgroud)
通常发生在 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
Run Code Online (Sandbox Code Playgroud)
然后(您可能必须创建一个 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
Run Code Online (Sandbox Code Playgroud)
另外,尝试从端口访问端口443:
# telnet kubernetes.default.svc.cluster.local 443 # or
# curl kubernetes.default.svc.cluster.local:443
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |