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

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

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

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

Kubernetesメトリック・サーバーを、Container Engine for 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>

    アクセス制御およびContainer Engine for Kubernetesについてを参照してください。

  4. 管理対象ノード・プールがあるクラスタにKubernetesメトリック・サーバーをデプロイする場合は、ターミナル・ウィンドウで次のコマンドを入力して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メトリック・サーバーをデプロイする場合:
    1. ブラウザで次のURLに移動し、マニフェスト・ファイルcomponents.yamlをローカル・ディレクトリにダウンロードします。
      https://github.com/kubernetes-sigs/metrics-server/releases/download/<version-number>/components.yaml

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

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

    2. 選択したテキスト・エディタでcomponents.yamlファイルを開きます。
    3. metrics-serverデプロイメントのマニフェストから次のlivenessProbeセクションを削除します。
              livenessProbe:
                failureThreshold: 3
                httpGet:
                  path: /livez
                  port: https
                  scheme: HTTPS
                periodSeconds: 10
    4. metrics-serverデプロイメントのマニフェストからreadingessProbeセクションを削除します。
              readinessProbe:
                failureThreshold: 3
                httpGet:
                  path: /readyz
                  port: https
                  scheme: HTTPS
                initialDelaySeconds: 20
                periodSeconds: 10
    5. ターミナル・ウィンドウで次のコマンドを入力して、Kubernetesメトリック・サーバーをデプロイします:
      kubectl apply -f <local-location>/components.yaml

      <local-location>は、変更したcomponents.yamlファイルを含むローカル・ディレクトリです。

  6. 次のように入力して、Kubernetesメトリック・サーバーが正常にデプロイされ、使用可能であることを確認します:

    kubectl get deployment metrics-server -n kube-system