スタンドアロン・プログラムとしてのKubernetesメトリック・サーバーの操作

kubectlを使用して、Kubernetesメトリック・サーバーを、Kubernetesエンジン(OKE)を使用して作成した管理対象ノード・プールおよび仮想ノード・プールのあるクラスタにスタンドアロン・プログラムとしてデプロイする方法をご紹介します。

クラスタ・アドオンではなくスタンドアロン・プログラムとしてKubernetesメトリック・サーバーを使用すると、次のような構成および継続的なメンテナンスを完全に制御および責任を負うことができます。

  • クラスタで実行されているKubernetesのバージョンと互換性のあるバージョンのKubernetesメトリック・サーバーをインストールしています。
  • 構成引数を正しく指定しています。
  • クラスタを新しいバージョンのKubernetesにアップグレードするときに、Kubernetesメトリック・サーバーを手動でアップグレードして、Kubernetesメトリック・サーバーがクラスタの新しいバージョンのKubernetesと互換性があることを確認します。

Kubernetesメトリック・サーバーを、Kubernetesエンジンで作成した管理対象ノード・プールまたは仮想ノード・プールを持つクラスタにスタンドアロン・プログラムとしてデプロイするには:

  1. まだ実行していない場合は、ステップに従って、クラスタのkubeconfig構成ファイルを設定し、(必要に応じて)そのファイルを指すようにKUBECONFIG環境変数を設定します。自分のkubeconfigファイルを設定する必要があります。別のユーザーが設定したkubeconfigファイルを使用してクラスタにアクセスすることはできません。クラスタ・アクセスの設定を参照してください。
  2. Oracle Cloud Infrastructureユーザーがテナンシ管理者またはクラスタ管理者である場合は、次のステップをスキップしてその次のステップに進みます。
  3. Oracle Cloud Infrastructureユーザーがテナンシ管理者またはクラスタ管理者でない場合は、次のように入力してクラスタのKubernetes RBAC cluster-admin clusterroleをユーザーに付与するようテナンシ管理者またはクラスタ管理者に依頼します:
    
    kubectl create clusterrolebinding <my-cluster-admin-binding> --clusterrole=cluster-admin --user=<user-OCID>

    アクセス制御およびKubernetesエンジン(OKE)についてを参照してください。

  4. ターミナル・ウィンドウで次のコマンドを入力して、Kubernetesメトリック・サーバーをデプロイします:

    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/<version-number>/components.yaml

    <version-number>は、デプロイするKubernetesメトリック・サーバーのバージョンです。たとえば、v0.6.1です。

    Kubernetesメトリック・サーバーは積極的に開発中であるため、指定するバージョン番号は時間の経過とともに変化します。現在使用可能なバージョンを確認するには、Kubernetesメトリック・サーバーのドキュメントを参照してください。

    ヒント

    コマンドがhttps://github.com/kubernetes-sigs/metrics-server/releases/download/<version-number>/components.yamlへの接続に失敗した場合は、ブラウザでURLに移動して、マニフェスト・ファイルcomponents.yamlをローカル・ディレクトリにダウンロードします。kubectl applyコマンドを繰り返し、components.yamlファイルのローカルの場所を指定します。
  5. 次のように入力して、Kubernetesメトリック・サーバーが正常にデプロイされ、使用可能であることを確認します:

    kubectl get deployment metrics-server -n kube-system