このメモでは、MetricsServerコンポーネントをデプロイする方法を記録します。
Kubernetesクラスターv1.16
環境要件
Metrics Serverには、ネットワークとクラスターに関する特別な要件があります。この要件は、一部のクラスターではデフォルトの構成ではないため、最初に要件が満たされているかどうかを確認する必要があります。
#Kubernetesを使用して以来、無限のドキュメントとリソースがあります。多くのチュートリアルでは、直接適用しますが、とにかく使用でき、これらの依存関係がほとんどのクラスターで有効になっていることを示しています。ただし、これで展開タスクを完了できることがわかっている場合でも、ドキュメントを読む必要があります。これらのドキュメントを読まないと、これらがどのように機能するかがわからず、問題のトラブルシューティングが困難になります。
MetricsServerはkube-apiserverから到達可能である必要があります
アグリゲーションレイヤーを有効にするには、kube-apiserverを正しく構成する必要があります
アグリゲーションレイヤーを設定する
-Kubernetesは/etc/kubernetes/manifests/kube-apiserver.yamlオプションをチェックします。これはデフォルトですでに有効になっています。
ノードには、MetricsServerの構成と一致するように構成されたkubelet認証が必要です。
コンテナランタイムは、コンテナメトリックRPCを実装する必要があります
ビルドをインストールします
2番目のステップは、構成情報を変更する
components.yamlファイルをダウンロードして変更します
。1)プライベートミラーウェアハウスを使用するには、YAMLファイルのミラーアドレスを変更する必要があります
。2)-kubelet-preferred-address-types = InternalIPと--kubelet-insecureを追加します。--tlsオプション;
3番目のステップ、アプリケーション構成ファイル
kubectl apply -f "/path/to/components.yaml"
一般的なエラーの要約
ポッドで使用できないメトリック
#kubectl top -n kube-system pod W0702 10:48:07.400630 6619 top_pod.go:266]ポッドkube-system / coredns-58cc8c89f4-6czm4、年齢:4267h8m49.400600321s エラーのメトリックは使用できません:ポッドkubeのメトリックは使用できません-system / coredns-58cc8c89f4-6czm4、年齢:4267h8m49.400600321s
--kubelet-preferred-address-types = InternalIPおよび--kubelet-insecure-tlsオプションを追加して解決します。
ポッドのポッドメトリックをフェッチできません
E0702 02:39:09.777832 1 reststorage.go:160]ポッドのデフォルト/カウンターのポッドメトリックをフェッチできません:ポッドのメトリックが 不明ですE0702 02:39:09.777843 1 reststorage.go:160]ポッドkubeのポッドメトリックをフェッチできません-system / etcd-k8s-master-02:ポッド E0702で既知のメトリックがありません02:39:09.777863 1 reststorage.go:160]ポッドkubeのポッドメトリックをフェッチできません-system / fluentd-p6d29:ポッド E0702で既知のメトリックがありません02:39:09.777874 1 reststorage.go:160]ポッドのポッドメトリックをフェッチできませんkube-system / kube-proxy-xdh2z:ポッド既知のメトリックがありません E0702で02:39:09.777885 1 reststorage.go:160]フェッチできませんポッドkube-system / etcd-k8s-master-01のポッドメトリック:ポッドのメトリックが不明 E0702 02:39:09.777900 1 reststorage.go:160]ポッドのポッドメトリックをフェッチできませんkube-system / kube-proxy-jrpnd:ポッドのメトリックが不明です
--kubelet-preferred-address-types = InternalIPおよび--kubelet-insecure-tlsオプションを追加して解決します。
参照
Kubernetesmetrics-serverのインストールKubernetesMetricsサーバーのインストール
KubernetesMetricsが
ポッド/ノードメトリックスをフェッチできない-スタックオーバーフロー