gpt4 book ai didi

kubernetes - kubernetes 中的 coredns crashloopbackoff

转载 作者:行者123 更新时间:2023-12-02 11:57:46 26 4
gpt4 key购买 nike

我在 ubuntu 16.04 中设置了 kubernetes。我正在使用 kube 版本 1.13.1 并使用 weave 进行网络连接。我已经使用以下方法初始化了集群:

sudo kubeadm init --token-ttl=0 --apiserver-advertise-address=192.168.88.142

编织:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

所有 pod 似乎都运行良好,但 coredns 始终保持在 CrashLoopBackOff 状态。我已经阅读了大部分可用的解决方案。

NAME                                READY   STATUS             RESTARTS   AGE
coredns-86c58d9df4-h5plc 0/1 CrashLoopBackOff 7 18m
coredns-86c58d9df4-l77rw 0/1 CrashLoopBackOff 7 18m
etcd-tx-g1-209 1/1 Running 0 17m
kube-apiserver-tx-g1-209 1/1 Running 0 17m
kube-controller-manager-tx-g1-209 1/1 Running 0 17m
kube-proxy-2jdpp 1/1 Running 0 18m
kube-scheduler-tx-g1-209 1/1 Running 0 17m
weave-net-npgnc 2/2 Running 0 13m

我最初是从编辑 cordens 文件和删除循环开始的。它解决了问题,但后来我意识到我无法从容器内 ping www.google.com 但我能够 ping google.com 的 IP 地址。因此删除循环并不是一个完美的解决方案。

接下来我尝试查看 /etc/resolv.conf 并发现以下内容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search APSDC.local

这是 workaround在 kubernetes 页面上提供,该页面表示应避免使用任何类型的 IP 地址,如 127.0.0.1。我无法理解这一行,因为该文件是自动生成的。如何更改文件以便 coredns 可以正常工作。 Belo是coredns的日志:

$ kubectl logs coredns-86c58d9df4-h5plc -n kube-system

.:53
2019-01-31T17:26:43.665Z [INFO] CoreDNS-1.2.6
2019-01-31T17:26:43.666Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
[INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
[FATAL] plugin/loop: Forwarding loop detected in "." zone. Exiting. See https://coredns.io/plugins/loop#troubleshooting. Probe query: "HINFO 1423429973721138313.4523734933111484351.".

任何人都可以指出正确的方向以解决此问题。请帮忙。谢谢

最佳答案

我已经解决了这个问题。在我的例子中,我有以下内容 /etc/resolv.conf

nameserver     127.0.1.1

我首先使用以下命令获取正确的 IP,因为设备位于客户端网络中。

nmcli device show <interfacename> | grep IP4.DNS

在此之后,我用以下内容更新了文件 /etc/resolvconf/resolv.conf.d/head

nameserver    192.168.66.21

然后运行下面的命令重新生成resolv.conf

sudo resolvconf -u

在此之后,我在 /etc/resolv.conf 中有以下内容:

nameserver    192.168.66.21
nameserver 127.0.1.1

然后我删除了 coredns pod,一切正常。谢谢。

关于kubernetes - kubernetes 中的 coredns crashloopbackoff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54466359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com