実稼働環境に kubeadm を使用して Kubernetes クラスター v1.18.8 をデプロイしました。クラスターのセットアップは、マスター ノードに存在する外部 Kube-api ロードバランサーを備えた 3 つのマスター ノードと 3 つのワーカー ノードです。インストール中に問題は見られず、kube のすべてのポッドシステムが実行されています。ただし、以下のコマンドを実行するとエラーが発生すると、エラーが発生します。
kubectl get cs
NAME STATUS MESSAGE ERROR
controller-manager Unhealthy Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused
scheduler Unhealthy Get http://127.0.0.1:10251/healthz: dial tcp 127.0.0.1:10251: connect: connection refused
etcd-0 Healthy {"health":"true"}
トラブルシューティング中に、ポートがリッスンされていないことがわかりました。
sudo netstat -tlpn |grep kube
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 132584/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 133300/kube-proxy
tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 197705/kube-control
tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 213741/kube-schedul
tcp6 0 0 :::10250 :::* LISTEN 132584/kubelet
tcp6 0 0 :::6443 :::* LISTEN 132941/kube-apiserv
tcp6 0 0 :::10256 :::* LISTEN 133300/kube-proxy
開発環境 kubernetes クラスター (v1.17) で同じことを確認しても問題はありません。
kubectl get cs
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true"}
sudo netstat -tlpn |grep 102
tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 2141/kube-controlle
tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 2209/kube-scheduler
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 1230/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 2668/kube-proxy
tcp6 0 0 :::10256 :::* LISTEN 2668/kube-proxy
tcp6 0 0 :::10250 :::* LISTEN 1230/kubelet
tcp6 0 0 :::10251 :::* LISTEN 2209/kube-scheduler
tcp6 0 0 :::10252 :::* LISTEN 2141/kube-controlle
新しく作成された prodction クラスターで、kubernetes コンポーネントの動作をテストするためだけに nginx と別のアプリケーションをデプロイしましたが、エラーは表示されませんでした。バージョン v1.18 で期待される動作ですか? これに関する助けを本当に感謝します。
注: 内部通信でブロックされているポートはありません