kubernetesはmetrics-serverを配備し、no metrics known for podソリューションと詳細な原因分析を提示する
1384 ワード
ソリューション
デプロイメントに次のコマンドラインを追加します.
の原因となる
では、は、まず、 は、対応する構成が行われていなければ、 でデフォルトのコマンドラインを使用して起動し、
はい、問題を知っている以上、どうやって解決するか探してみましょう.
実際には、
しかし、まだ終わっていません.コマンドラインパラメータを加えると、別のエラー
これは、証明書の検証が不合格になったためです.
これにより、2つのコマンドラインを追加することで、
デプロイメントに次のコマンドラインを追加します.
args:
- '--kubelet-preferred-address-types=InternalIP'
- '--kubelet-insecure-tls'
の原因となる
では、
metrics-server
起動プロンプトno metrics known for pod
は何ですか?metrics-server
がhostname
を使用して通信することをデフォルトで知っておく必要があります.hostname
を介して正常に通信できない.hostname
を正常に通信できないためエラーが発生し、no metrics known for pod
にプロンプトが表示されます.はい、問題を知っている以上、どうやって解決するか探してみましょう.
実際には、
metrics-server
はhostname
による通信だけでなく、IP
による通信もサポートされていますが、コマンドラインパラメータを明示的に指定する必要があります.--kubelet-preferred-address-types=InternalIP
InternalIP
は、次の値に変更できます.InternalIP
,Hostname
,InternalDNS
,ExternalDNS
,ExternalIP
(具体的な意味ではここでは展開しませんが、興味のある人は自分で知ることができます.)しかし、まだ終わっていません.コマンドラインパラメータを加えると、別のエラー
x509: cannot validate certificate
が発生します.これは、証明書の検証が不合格になったためです.
metrics-server
に証明書エラーを無視させる必要があります.証明書を無視するエラーもコマンドラインでサポートされています.次のコマンドラインパラメータを追加すれば解決できます.--kubelet-insecure-tls
これにより、2つのコマンドラインを追加することで、
metrics-server
起動プロンプトno metrics known for pod
の問題を徹底的に解決した.