k8s-kubernetesエラーのハイライトの概要

k8s-kubernetesエラーコレクション


エッセイ、調査の結論、自分自身を見た後、記事はよりカジュアルになります

[root @ centos7 K8S-Auto] #kubectl
サーバーのローカルホストへの接続でノードGET :8080は拒否されました--- あなたが正しいDIDを指定してくださいホストまたはポートで?
上記のエラー、環境変数が設定されているかどうかを確認し、次の手順を確認します

env | grep  -i kube

ここに画像の説明を挿入
そうでない場合、空であるか、パスが間違っている、ファイルが間違っているなど。エラーを修正して修正するだけです。追加方法は次のとおりです。
一時的な方法

export KUBECONFIG=/etc/kubernetes/admin.conf

恒久的な変更

 echo "export KUBECONFIG=/etc/kubernetes/admin.conf" > /etc/profile.d/kubeconfig.sh
 source /etc/profile.d/kubeconfig.sh


ここに画像の説明を挿入
変更して再試行してください。②ノードNotReadyの理由
トラブルシューティング手順、ポッドのステータスを次のように確認し、corednsが保留中(一時停止中)であると説明し、詳細情報を確認します
ここに画像の説明を挿入

kubectl describe pods coredns-546565776c-bkhvx -n kube-system

これは私が一番下で言ったことです。ここにノードを追加してから、トラブルシューティングのためにログを見てみましょう。マスターノードが1つしかないためです。
問題最初にスキップしてから後で解決します。次に、別のホストに移動して参加します。新しいノード

kubeadmは192.168 .40.130に参加:6443 --token hdp0kg.ac73i5ms09kuvqbx --discoveryトークン-CA-CERT-ハッシュSHA256:5026d0d1673e55ae99bdbf74d6633988d3e9d76a70903adae9e5b9a8582bdf1a
このトークン値は、それぞれの人のために同じではありません、そして最後の一つは同じではありません。参照してください。
ここに画像の説明を挿入ここに画像の説明を挿入エラー:缶は、UNIXでドッカーデーモンに接続できません:///var/run/docker.sockを実行しているデーモンドッキングウィンドウです。?
かなりの情報を印刷するエラーを
、エラー:終了ステータス1
[ERRORサービス-ドッカー]:ドッキングウィンドウのサービスではありませんアクティブです。「systemctlstartdocker.service」を実行してください
[エラーIsDockerSystemdCheck]: 「dockerinfo -f { {.CgroupDriver}}」を実行できません :終了ステータス2
[エラーFileContent–proc-sys-net-ipv4-ip_forward]:/ proc / sys / net / ipv4 / ip_forwardの内容が1に設定されていません
[エラーSystemVerification]:Docker情報の検証エラー:「unixでDockerデーモンに接続できません:/// var / run /docker.sock。dockerデーモンは実行されていますか?」
[プリフライト]何をしているのかがわかっている場合は、で致命的ではないチェックを行うことができます。--ignore-preflight-errors=...
このエラーのスタックトレースを確認するには、次のコマンドを実行します。 -v = 5以上
、Figure Dockerサービスが再生されなかった、再生されなかった、正常に起動しようとしたが、起動コマンドが非常に簡単であると述べた_

systemctl start docker.service

ここに画像の説明を挿入成功
④マスターホストに戻ります。OK
ここに画像の説明を挿入
、②のエラーを解決し、システムログを確認します。
ここに画像の説明を挿入このエラーがブラシ処理されていることがわかります
。cni構成を更新できません:/etc/cni/net.dにネットワークが見つかりません
コンテナランタイムネットワークの準備ができていません:NetworkReady = false理由:NetworkPluginNotReadyメッセージ:docker:ネットワークプラグインの準備ができていません:cni config uninitializedこれ
は、ネットワークの問題であることを示しています。これは、展開する必要のあるネットワーク計画サービスです。 。私はここにフランネルが展開されていますので、手順があり、corednsポッドを使用するとして、次のとおりです。
wgetのhttps://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlに
ここで、ダウンロード別です私のドキュメントであり、ファイルはcsdnのリソースにも提供され
ますこのyamlでは、ネットワークカードをバインドするように構成を変更して、デュアルネットワークカードを搭載したマシンが展開されたときのエラーを防ぐことができます。
キーワードmasqを検索し、追加します。 -図の位置にあるiface。ここでのens33は私のネットワークカード名に対応しています。それに応じて変更します。はい。
ここに画像の説明を挿入
マスターにデプロイします。

kubectl apply -f kube-flannel.yml

ここに画像の説明を挿入初期化中、詳細を確認するために説明します。
ここに画像の説明を挿入イメージがプルされている場合、ImagePullBackOffが報告されることがあります。そのほとんどは、イメージプルのタイムアウト
、ネットワーク速度(ミラーソースの交換)、またはsystemdサービスの異常原因です。ディスクメモリなど。解決策に対応するエラーメッセージに応じて待機します
。systemd1サービスタイムアウトの問題の場合は、kubeletプロセスを手動で強制終了し、システムログ(メッセージとdmesg)に従ってエラーを修正する必要があります。次に、コンピュータを再起動します。次の図に
示すよう
ここに画像の説明を挿入ここに画像の説明を挿入エラーが修正されると、次の図が表示されます。

ここに画像の説明を挿入ここに画像の説明を挿入別のノードのこのポッドは初期化されています
ここに画像の説明を挿入

ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1597805286
[root@k8s-node2 ~]# abrt-cli list --since 1597805286
id 0770fc07826bfb4326df323a5bc3e3bdc9c54cc8
reason:         NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [flannel:6611]
time:           2020年08月19日 星期三 15时49分39秒
cmdline:        BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8
package:        kernel
uid:            0 (root)
count:          1
Directory:      /var/spool/abrt/oops-2020-08-19-15:49:39-6633-0
已报告:    无法报告

已禁用自动报告功能。请考虑启用该功能,方法是
作为有 root 特权的用户使用命令 'abrt-auto-reporting enabled'

このCPU占有率が高すぎるため、シングルコアソフトロック(「デッドロック」)が発生します。これは頻繁に発生します。具体的な理由を詳細に分析する必要があります。以下に例を示し、分析は
ここに画像の説明を挿入完了しますが、corednsまだ準備ができていない場合は、システムログを確認してください

Aug 19 15:55:39 k8s-master flanneld-start: E0819 15:55:39.713690    8277 network.go:102] failed to retrieve network config: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 192.168.161.131:2379: i/o timeout
Aug 19 15:55:41 k8s-master flanneld-start: E0819 15:55:41.714940    8277 network.go:102] failed to retrieve network config: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 192.168.161.131:2379: i/o timeout
Aug 19 15:55:43 k8s-master flanneld-start: E0819 15:55:43.717839    8277 network.go:102] failed to retrieve network config: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 192.168.161.131:2379: i/o timeout

上記のエラーは、これら3台のマシンにetcdとflannel(docker-swarmのビルド時に必要)をインストールしたためです。etcdをクラスターに追加すると、エラーが報告され、保存されているものを削除しましたが、削除しませんでした。フランネルについて考えてみてください。まだオンになっています。このIPを変更したので、オンラインではないIPに接続すると、もちろんエラーが報告されます。/etc/hostsを確認して見つけてください。
192.168.161.131 etcd#これは削除されますが、3台のマシンすべてで
エラーが報告されます。メッセージにログを要約してください。

Aug 19 16:33:55 k8s-master flanneld-start: E0819 16:33:55.743196   15589 network.go:102] failed to retrieve network config: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp: lookup etcd on 114.114.114.114:53: no such host
Aug 19 16:32:03 k8s-master flanneld-start: E0819 16:32:03.592101   15556 network.go:102] failed to retrieve network config: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 192.168.161.127:2379: getsockopt: connection refused

次の図は、クラスターを表示したログです。

Events:
  Type     Reason            Age                 From                Message
  ----     ------            ----                ----                -------
  Warning  FailedScheduling  <unknown>           default-scheduler   0/1 nodes are available: 1 node(s) had taint {
    
    node.kubernetes.io/not-ready: }, that the pod didn't tolerate.
  Warning  FailedScheduling  <unknown>           default-scheduler   0/2 nodes are available: 2 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.
  Warning  FailedScheduling  <unknown>           default-scheduler   0/3 nodes are available: 3 node(s) had taint {
    
    node.kubernetes.io/not-ready: }, that the pod didn't tolerate.
  Normal   Scheduled         <unknown>           default-scheduler   Successfully assigned kube-system/coredns-546565776c-6mvpj to k8s-node2
  Normal   Pulling           10m                 kubelet, k8s-node2  Pulling image "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7"
  Normal   Pulled            10m                 kubelet, k8s-node2  Successfully pulled image "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7"
  Normal   Created           10m                 kubelet, k8s-node2  Created container coredns
  Normal   Started           10m                 kubelet, k8s-node2  Started container coredns
  Warning  Unhealthy         8m34s               kubelet, k8s-node2  Readiness probe failed: Get http://10.18.1.2:8181/ready: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy         10s (x55 over 10m)  kubelet, k8s-node2  Readiness probe failed: HTTP probe failed with statuscode: 503

ここに画像の説明を挿入このため、スレッドがブロックされ、CPU使用率が高すぎることがわかります。この時点で、k8sクラスター環境を停止できます(テストと学習のみ)が、kubeletとdockerを停止してもエラーの報告は停止しません。根本的な原因はクラスターにないため、
3台のマシンでetcdとflannelを直接アンインストールした、エラーログは更新されません。
ここに画像の説明を挿入アンインストール手順は
ここに画像の説明を挿入
ここに画像の説明を挿入本日です。

おすすめ

転載: blog.csdn.net/qq_38774492/article/details/108010359