存続可能性モード

デフォルトでは、Google Distributed Cloud の通常のオペレーションにはGoogle Cloud への継続的な接続が必要です。これは、デフォルトでは、Google Distributed Cloud で作成するクラスタが Cloud コントロール プレーン クラスタであるためです。つまり、このようなクラスタで実行されているワークロードをオーケストレートする Kubernetes コントロール プレーンは Google Cloudで実行されます。

Distributed Cloud の信頼性を高めるために、Distributed Cloud ハードウェアにデプロイされたローカル コントロール プレーンを使用する Distributed Cloud クラスタを作成できます。 Google Cloud への接続が失われると、このようなクラスタは存続モードになり、ワークロードは最大 7 日間実行され続けます。

Google Cloud への接続が失われたときに存続モードに移行できるのは、ローカル コントロール プレーンでデプロイされた Distributed Cloud クラスタのみです。 Google Cloud で実行されているクラウド コントロール プレーンを使用してデプロイされたクラスタは、存続モードに移行できません。クラウド コントロール プレーンを使用している既存のクラスタを、ローカル コントロール プレーンを使用するように再構成することはできません。

ローカル コントロール プレーンを使用してクラスタを作成する場合、次のルールが適用されます。

  • ローカル コントロール プレーン クラスタは、独自の Google Cloud プロジェクトに作成する必要があります。ローカル コントロール プレーン クラスタは、非 Distributed Cloud クラスタを含む他のタイプのクラスタと同じ Google Cloud プロジェクトに共存できません。ローカル コントロール プレーンの Distributed Cloud クラスタを同じ Google Cloud プロジェクト内の他のタイプのクラスタと混在させると、データが失われる可能性があります。
  • Distributed Cloud クラスタ間でノードを再割り当てすると、そのノードは完全に消去され、デフォルトの構成にリセットされます。
  • デフォルトでは、ローカル コントロール プレーン ワークロードは、Distributed Cloud によって自動的に選択された 3 つのノードにまたがる 3 つのレプリカを使用して、高可用性モードで実行されます。これは、クラスタ内のノードが 3 つ未満の場合、またはローカル コントロール プレーン ワークロードを実行するために 1 つのノードを使用するようにクラスタを明示的に構成した場合を除き、当てはまります。--control-plane-machine-filter フラグを使用して、高可用性モードの 3 つのノードを指定することもできます。他のノードの組み合わせはサポートされていません。
  • ローカル コントロール プレーン ワークロードを実行するノードは、アプリケーション ワークロードも実行します。
  • ローカル コントロール プレーン エンドポイントの IP アドレスは、ローカル ネットワークでアクセスできます。ローカル ネットワークのセキュリティ構成で、これらの IP アドレスへの外部アクセスが禁止されていることを確認する必要があります。

存続可能性モードでは、Distributed Cloud クラスタは次のように動作します。

  • Google Cloud CLI、kubectl CLI、Edge Container API を介したワークロードの制御が無効になります。
  • Distributed Cloud のソフトウェア アップデート、SLO、ハードウェアの修理は利用できません。
  • Google Cloud への接続が再確立されると、制限付きのログと指標が Google Cloud と同期されます。
  • デフォルトでは、クラスタが Google Cloudから切断されている間にノードが再起動すると、認証鍵を更新できないため、 Google Cloud への接続が再確立されるまでクラスタに再参加できません。クラスタが存続モードで実行されている間に、ノードが再起動後にクラスタに再参加できるオフライン再起動ウィンドウを指定できます。詳細については、クラスタを作成するをご覧ください。

前提条件

ローカル コントロール プレーンを使用して Distributed Cloud クラスタを作成する前に、ターゲット Google Cloud プロジェクトで必要な API を有効にする必要があります。これを行うには、 Google Cloud プロジェクトで次のいずれかのロールが必要です。

  • オーナー(roles/owner
  • 編集者(roles/editor
  • Service Usage 管理者(roles/serviceusage.serviceUsageAdmin

これらのロールの詳細については、基本ロールをご覧ください。

ロールの付与については、単一のロールを付与するをご覧ください。

ローカル コントロール プレーンを使用して Distributed Cloud クラスタを作成するには、次の API を有効にします。

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

API の有効化については、サービスの有効化をご覧ください。

Google Cloud SDK をバージョン 450.0.0 以降にアップグレードする

Distributed Cloud ソフトウェア バージョン 1.5.0 を実行するローカル コントロール プレーン クラスタを作成するには、Google Cloud SDK をバージョン 450.0.0 以降にアップグレードする必要があります。そうしないと、このようなクラスタの作成は失敗します。

ローカル コントロール プレーンを使用してクラスタを作成する

ローカル コントロール プレーンを使用して Distributed Cloud クラスタを作成するには、クラスタの作成時に次のフラグを渡す必要があります。

  • --control-plane-node-location は、このクラスタのコントロール プレーン ワークロードをローカルにデプロイするように Distributed Cloud に指示します。値は、ターゲットの Distributed Cloud ゾーンの名前です。
  • --control-plane-node-count(省略可)は、ローカル コントロール プレーン ワークロードを実行するノードの数を指定します。有効な値は、高可用性の場合は 3、標準オペレーションの場合は 1 です。省略された場合、デフォルトの 3 になります。
  • --control-plane-machine-filter(省略可)は、ローカル コントロール プレーン ワークロードを実行するノードの正規表現形式のリストを指定します。省略すると、Distributed Cloud はノードをランダムに自動的に選択します。
  • --control-plane-shared-deployment-policy は、ローカル コントロール プレーン ワークロードを実行するノードでアプリケーション ワークロードを実行できるかどうかを指定します。有効な値は ALLOWED のみです。省略すると、クラスタの作成は失敗します。
  • --external-lb-ipv4-address-pools は、Distributed Cloud ロードバランサの背後で実行される Service の上り(内向き)トラフィックの IPv4 アドレス、アドレス範囲、サブネットワークのカンマ区切りリストを指定します。

Distributed Cloud クラスタの作成の詳細については、クラスタを作成するをご覧ください。

次のステップ