で設定しkubernetes
ましたubuntu 16.04
。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')"
すべてのポッドは正常に動作しているように見えますが、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ファイルを編集してループを削除することから始めました。問題は解決しましたが、後でwww.google.com
コンテナ内からpingを実行できないことに気付きましたが、google.comのIPアドレスにpingを実行できました。したがって、ループを削除することは完全な解決策ではありません。
次に、/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
kubernetesページで提供されている回避策は次のとおりです。127.0.0.1のようなタイプのIPアドレスは避ける必要があります。このファイルは自動的に生成されるため、この行を理解できません。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
ポッドを削除しましたが、すべて正常に機能しました。ありがとう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加