クラスタを Anthos On-Prem API で管理されるように構成する

Anthos On-Prem API は、Google Cloud コンソール、Google Cloud CLI、Terraform の標準ツールを使用して、オンプレミス クラスタのライフサイクルを管理できる Google Cloud がホストする API です。これらのツールを使用してクラスタを作成すると、API はクラスタの作成時に指定した Google Cloud リージョンに、クラスタの状態に関するメタデータを保存します。このメタデータを使用すると、標準的なツールを使用してクラスタのライフサイクルを管理できます。これらのツールを使用してクラスタの詳細を表示したり、bmctl を使用して作成されたクラスタのライフサイクルを管理したりするには、Anthos On-Prem API にクラスタを登録する必要があります。

用語

クラスタを登録すると、コンソール、gcloud CLI、または Terraform を使用してクラスタのライフサイクルを管理できます。

クラスタの登録は、フリートにクラスタを登録するための別のプロセスです。フリートとは、一緒に管理できる Kubernetes クラスタの論理グループです。すべての GKE on Bare Metal が、クラスタの作成時にフリートに登録されます。bmctl を使用してクラスタを作成すると、クラスタはクラスタの構成ファイルの gkeConnect.projectID フィールドに指定した Google Cloud プロジェクトに登録されます。このプロジェクトはフリート ホスト プロジェクトと呼ばれます。ユースケース、ベスト プラクティス、例など、フリートについて詳しくは、フリート管理のドキュメントをご覧ください。

登録済みクラスタを表示する

すべてのフリート クラスタが、コンソールで GKE Enterprise の [クラスタ] ページと GKE の [クラスタ] ページに表示されます。これらの両方によって、フリート全体の概要と、GKE on Bare Metal では Anthos On-Prem API によって管理されているクラスタを確認できます。

フリート クラスタを表示するには:

  1. コンソールで GKE Enterprise の [クラスタ] ページに移動します。
    GKE Enterprise の [クラスタ] ページに移動
  2. Google Cloud プロジェクトを選択します。
    • Anthos (bare metal) が [タイプ] 列に表示されている場合、クラスタは Anthos On-Prem API によって管理されています。
    • [タイプ] 列に [外部] と表示されている場合は、クラスタが Anthos On-Prem API で管理されていません。
GKE Enterprise のクラスタのリスト

要件

  • Anthos On-Prem API に登録できるのは、ユーザー クラスタと管理クラスタのみです。ハイブリッド クラスタとスタンドアロン クラスタの登録はサポートされていません。
  • バージョン 1.13 以降。
  • Google API や他のアドレスからのトラフィックがプロキシ サーバーを通過できるよう組織が許可リストを設定している場合は、次を許可リストに追加します。

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    Anthos On-Prem API のサービス名です。

  • プロジェクト オーナーでない場合は、少なくともそのプロジェクトに対する Identity and Access Management ロール roles/gkeonprem.admin が付与されている必要があります。このロールに含まれる権限の詳細については、IAM のドキュメントの GKE On-Prem ロールをご覧ください。

クラスタを登録する

Anthos On-Prem API による管理のためのクラスタを登録するには:

  1. 最新バージョンの gcloud CLI を使用していることを確認します。必要に応じて gcloud CLI コンポーネントを更新します。

    gcloud components update
    
  2. フリート ホスト プロジェクトで Anthos On-Prem API を有効にします。

    gcloud services enable \
        --project FLEET_HOST_PROJECT_ID \
        gkeonprem.googleapis.com
    

    FLEET_HOST_PROJECT_ID は、フリートホスト プロジェクトの ID に置き換えます。これは、クラスタ構成ファイルgkeconnect セクションで構成されたプロジェクト ID です。

  3. Anthos On-Prem API にクラスタを登録します。

    ユーザー クラスタ

    --admin-cluster-membership フラグの ADMIN_CLUSTER_NAME プレースホルダを入力する必要がある場合は、必ずスクロールしてください。

    gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    以下を置き換えます。

    • USER_CLUSTER_NAME: 登録するユーザー クラスタの名前。

    • FLEET_HOST_PROJECT_ID: フリート ホスト プロジェクトのプロジェクト ID。

    • ADMIN_CLUSTER_NAME: ユーザー クラスタを管理する管理クラスタ。管理クラスタ名は、Google Cloud でクラスタを一意に識別する完全指定のクラスタ名の最後のセグメントです。

    • LOCATION: Anthos On-Prem API が実行される Google Cloud リージョン。us-west1 または別のサポートされているリージョンを指定します。クラスタの登録後にリージョンを変更することはできません。これは、Anthos On-Prem API が実行されるリージョンの設定に加えて、以下が保存されるリージョンです。

      • クラスタのライフサイクルを管理する際に Anthos On-Prem API が必要とするユーザー クラスタ メタデータ
      • システム コンポーネントの Cloud Logging データと Cloud Monitoring データ
      • Cloud Audit Logs によって作成された管理監査ログ

    管理クラスタ

    --admin-cluster-membership フラグの ADMIN_CLUSTER_NAME プレースホルダを入力する必要がある場合は、必ずスクロールしてください。

    gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    以下を置き換えます。

    • ADMIN_CLUSTER_NAME: 登録する管理クラスタの名前。

    • FLEET_HOST_PROJECT_ID: フリート ホスト プロジェクトのプロジェクト ID。

      ADMIN_CLUSTER_NAMEFLEET_HOST_PROJECT_ID は、--admin-cluster-membership フラグの完全クラスタ名を作成するために使用されます。

    • LOCATION: Anthos On-Prem API が実行される Google Cloud リージョン。us-west1 または別のサポートされているリージョンを指定します。クラスタの登録後にリージョンを変更することはできません。これは、Anthos On-Prem API が実行されるリージョンの設定に加えて、以下が保存されるリージョンです。

      • クラスタのライフサイクルを管理する際に Anthos On-Prem API が必要とするクラスタ メタデータ
      • システム コンポーネントの Cloud Logging データと Cloud Monitoring データ
      • Cloud Audit Logs によって作成された管理監査ログ
  4. クラスタを登録したら、次のコマンドを使用してクラスタに関する情報を取得できます。

    ユーザー クラスタ

    • ユーザー クラスタを記述するには:
    gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • ユーザー クラスタを一覧表示するには:
    gcloud container bare-metal clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    --location=- を設定すると、すべてのリージョンのクラスタがすべて一覧表示されます。リストを絞り込む必要がある場合は、--location をクラスタの登録時に指定したリージョンに設定します。

    管理クラスタ

    • 管理クラスタを記述するには:
    gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • 管理クラスタを一覧表示するには:
    gcloud container bare-metal admin-clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    --location=- を設定すると、すべてのリージョンのクラスタがすべて一覧表示されます。リストを絞り込む必要がある場合は、--location をクラスタの登録時に指定したリージョンに設定します。

クラスタに接続する

クラスタを Anthos On-Prem API に登録したら、認証方法を選択して構成し、Google Cloud コンソールからクラスタを管理できるようにします。選択した認証方法により、コマンドラインからクラスタへのアクセスも制御されます。詳しくは以下をご覧ください。