GKE On-Prem API に登録されているクラスタのトラブルシューティング

このページでは、Google Cloud コンソールで Google Distributed Cloud ユーザー クラスタを作成する際の問題を調査する方法について説明します。

GKE On-Prem API は、Google Cloud がホストする API で、Terraform や標準の Google Cloud ツールを使用して、オンプレミス クラスタのライフサイクルを管理できます。GKE On-Prem API は、Google Cloud のインフラストラクチャで動作します。Terraform、Google Cloud コンソール、Google Cloud CLI は API のクライアントであり、API を使用してデータセンターのクラスタを作成、更新、アップグレード、削除します。標準クライアントを使用してクラスタを作成した場合、クラスタは GKE On-Prem API に登録されます。つまり、標準クライアントを使用してクラスタのライフサイクルを管理できます。(ただし、いくつか例外があります)。

さらにサポートを必要とされる場合は、Cloud カスタマーケアにお問い合わせください。

クラスタ作成のエラー

このセクションでは、Google Cloud コンソールでのクラスタ作成中に発生するエラーについて説明します。

リソースがすでに存在するエラー

ユーザー クラスタの作成が、次のようなエラー メッセージで失敗します。

Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826

このエラー メッセージは、そのクラスタ名がすでに使用されていることを示します。

この問題を解決する 1 つの方法として、クラスタを削除して再作成します。

  1. クラスタを削除する
  2. 既存のクラスタと競合しない別の名前でクラスタをもう一度作成する

IP アドレスの競合エラー

ユーザー クラスタの作成が、次のようなエラー メッセージで失敗します。

- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
  cluster control plane VIP "10.251.133.132" overlaps with
  example-cluster1/control plane VIP "10.251.133.132"

Google Cloud コンソールの [クラスタの詳細] ページの [ロードバランサ] セクションにある、[コントロール プレーン VIP] や [Ingress VIP] などのフィールドは編集できません。競合する IP アドレスを解決するには、クラスタを削除して再作成します。

  1. クラスタを削除する
  2. 既存のクラスタと競合しない IP アドレスを使用して、もう一度クラスタを作成する

正常でないクラスタを削除する

クラスタは、次のようなさまざまな理由により、正常でない状態になる可能性があります。

  • Connect Agent またはオンプレミス環境に関する接続の問題。
  • ユーザー クラスタの管理クラスタが削除されたか、管理クラスタとユーザー クラスタの間に発生する接続の問題。

コンソールでクラスタを削除できない場合は、gcloud CLI コマンドを使用して、正常でないクラスタから Google Cloud リソースを削除します。gcloud CLI を最近更新していない場合は、次のコマンドを実行してコンポーネントを更新します。

gcloud components update

次に、Google Cloud リソースを削除します。

ユーザー クラスタ

  1. ユーザー クラスタを削除します。

    gcloud container bare-metal clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --force \
      --allow-missing \
      --ignore-errors

    次のように置き換えます。

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

    • PROJECT_ID: クラスタが登録されているプロジェクトの ID。

    • REGION: ユーザー クラスタに関連付けられた Google Cloud のロケーション。このロケーションはコンソールに表示されます。

      --force フラグを指定すると、ノードプールを持つクラスタが削除されます。--force フラグを使用せずに、まず ノードプールを削除 してから、クラスタを削除する必要があります。

      --allow-missing フラグを使用すると、クラスタが見つからない場合にコマンドを続行できます。

      --ignore-errors フラグは、管理クラスタとユーザー クラスタに到達できない場合に Google Cloud リソースを削除します。

      このコマンドは、クラスタが存在する場合にクラスタを削除し、Google Cloud から GKE On-Prem API リソースとフリート メンバーシップ リソースを両方とも削除します。

  2. GKE On-Prem API リソースが削除されたことを確認します。

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-

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

  3. フリート メンバーシップ リソースが削除されたことを確認します。

    gcloud container fleet memberships list \
      --project=PROJECT_ID

管理クラスタ

  1. GKE On-Prem API に管理クラスタを登録した場合は、登録を解除します。

    gcloud container bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing --ignore-errors
    

    次のように置き換えます。

    • ADMIN_CLUSTER_NAME: 管理クラスタの名前。
    • PROJECT_ID: フリート ホスト プロジェクトの ID。
    • REGION: Google Cloud リージョン。

    --allow-missing フラグは、フリートのメンバーシップが見つからない場合にクラスタの登録を解除します。

    --ignore-errors フラグは、管理クラスタとユーザー クラスタに到達できない場合に Google Cloud リソースを削除します。

    このコマンドは、Google Cloud から GKE On-Prem API リソースを削除します。

  2. フリートからクラスタを削除します。

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=global

    このコマンドは、Google Cloud からフリート メンバーシップ リソースを削除します。

  3. GKE On-Prem API リソースが削除されたことを確認します。

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
    

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

  4. フリート メンバーシップ リソースが削除されたことを確認します。

    gcloud container fleet memberships list \
      --project=PROJECT_ID

次のステップ

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。