コンピュート・ホスト・グループを使用した管理対象ノードのプロビジョニング

コンピュート・ホスト・グループを使用して、Kubernetes Engineが管理対象ワーカー・ノード・インスタンスを作成する場所を制御する方法(クイック・リサイクル用に構成されたコンピュート・ホスト・グループの使用など)を確認してください。

コンピュート・ホスト・グループは、コンパートメントおよび可用性ドメイン内のホストをグループ化するコンピュート・サービス・リソースです。Kubernetes Engineでは、管理対象ノード・プール配置構成の容量タイプとしてコンピュート・ホスト・グループを選択できます。Kubernetes Engineによってその配置構成のワーカー・ノード・インスタンスが作成されると、コンピュート・サービスによって、選択したコンピュート・ホスト・グループのホストにインスタンスが配置されます。

コンピュート・ホスト・グループを使用して、Kubernetes Engineが管理対象ノード・プールのワーカー・ノード・インスタンスを作成する場所を制御します。これは、ベア・メタル・シェイプを使用し、専用のホスト配置またはクイック・リサイクル動作を必要とするノード・プールに役立ちます。

クイック・リサイクルはコンピュート・ホスト・グループ機能で、ホスト上のワーカー・ノード・インスタンスが終了した後に、ホストを再利用可能にできます。クイック・リサイクルは、サポートされているシェイプでのみ使用できます。Kubernetes Engineの場合、これは、ワーカー・ノード・インスタンスが終了すると、コンピュート・ホスト・グループの構成に応じて、ホストが置換ワーカー・ノード・インスタンスに対してより早く使用可能になる可能性があることを意味します。

Kubernetes Engineでは、コンピュート・ホスト・グループの作成、コンピュート・ホスト・グループへのホストのアタッチ、またはホスト・グループのリサイクル・レベルの構成は行われません。Kubernetesエンジンでコンピュート・ホスト・グループを選択する前に、コンピュート・サービスAPIまたはCLIでコンピュート・ホスト・グループを作成および構成します。コンピュート・ホスト・グループの作成および構成の詳細は、ComputeサービスのドキュメントのComputeHostGroup APIリファレンスおよびcompute-host-group CLIリファレンスを参照してください。

配置構成のコンピュート・ホスト・グループを変更すると、新しいワーカー・ノード・インスタンスに影響します。既存のワーカー・ノード・インスタンスは自動的には移動されません。更新されたコンピュート・ホスト・グループを既存のノードで使用するには、コンピュート・サービスが更新されたコンピュート・ホスト・グループのホストに配置されるように、既存のワーカー・ノード・インスタンスを終了して置換します。詳細は、ワーカー・ノードの終了および置換を参照してください。

管理対象ノード・プールでコンピュート・ホスト・グループを使用する前に、次の点に注意してください:

  • コンピュート・サービスでコンピュート・ホスト・グループを作成および構成します。
  • コンピュート・ホスト・グループのライフサイクル状態がACTIVEであることを確認します。
  • コンピュート・ホスト・グループがノード・プール配置構成と同じ可用性ドメインにあることを確認します。
  • ノード・プール・シェイプがコンピュート・ホスト・グループ・シェイプと一致していることを確認します。
  • クイック・リサイクルを行うには、Kubernetes Engineでコンピュート・ホスト・グループを選択する前に、コンピュート・サービスでコンピュート・ホスト・グループのリサイクル・レベルをクイック・リサイクルして構成するシェイプを使用します。
  • Kubernetes Engineがワーカー・ノード・インスタンスの起動時にコンピュート・ホスト・グループを使用できるように、必要なIAMポリシーを追加します。

必要なIAMポリシー

ノード・プールがコンピュート・ホスト・グループを使用できるようにするには、ノード・プールのリソース・プリンシパルがコンピュート・ホスト・グループを使用できるようにするポリシーが存在している必要があります。例:

allow any-user to {HOST_GROUP_LAUNCH_INSTANCE} in compartment <compartment_name> where request.principal.type = 'nodepool' and target.resource.id = '<host_group_OCID>'

ここでは:

  • <compartment_name>は、コンピュート・ホスト・グループを含むコンパートメントの名前です。
  • <host_group_OCID>は、コンピュート・ホスト・グループのOCIDです。

コンソールの使用

管理対象ノード・プールを使用してクラスタを作成するとき、管理対象ノード・プールを作成するとき、または既存の管理対象ノード・プールを更新するときに、コンピュート・ホスト・グループを指定できます。

クラスタの作成および管理対象ノード・プールの計算ホスト・グループの指定

  1. 「カスタム作成」ワークフローを使用してクラスタを作成する手順に従います。コンソールを使用した、カスタム作成ワークフローでの明示的に定義された設定によるクラスタの作成を参照してください。
  2. クラスタ内の管理対象ノード・プールにノード配置構成を指定する場合:
    1. 最初の可用性ドメインおよびサブネットを指定します:
      • 可用性ドメイン:ワーカー・ノードを作成する可用性ドメインを選択してください。コンピュート・ホスト・グループを選択する場合、コンピュート・ホスト・グループは同じ可用性ドメインに存在する必要があります。
      • ワーカー・ノード・サブネット・コンパートメント:ワーカー・ノード・サブネットが存在するコンパートメントを選択します。
      • ワーカー・ノード・サブネット:指定したコンパートメント内のサブネットのリストから、ワーカー・ノードをホストするように構成されたリージョナル・サブネット(推奨)またはAD固有のサブネットを選択します。
      • フォルト・ドメイン: (オプション)ワーカー・ノードを配置する可用性ドメイン内の1つ以上のフォルト・ドメイン。
    2. 「拡張オプション」を選択し、使用するコンピュート・ホスト・グループを指定します:

      • 容量タイプ: 「ホストグループ」を選択します。
      • コンパートメント:コンピュート・ホスト・グループを含むコンパートメントを選択してください。
      • ホストグループ:リストから使用するコンピュートホストグループを選択します。コンピュート・ホスト・グループは、配置構成と同じ可用性ドメインに存在する必要があります。

    3. オプションで、「行の追加」を選択して、可用性ドメイン、サブネットおよびコンピュート・ホスト・グループを配置構成に追加します。ノード・プールの配置構成に複数の可用性ドメインを指定する場合は、可用性ドメインごとに異なるコンピュート・ホスト・グループを指定できます。
  3. クラスタを作成します。

Kubernetesエンジンは、クラスタおよび管理対象ノード・プールを作成します。コンピュート・ホスト・グループを指定する配置構成ごとに、コンピュート・サービスによって、選択したコンピュート・ホスト・グループのホストにワーカー・ノード・インスタンスが配置されます。

管理対象ノード・プールの作成および計算ホスト・グループの指定

  1. 「クラスタ」リスト・ページで、新しいノード・プールを作成するクラスタの名前を選択します。リスト・ページまたはクラスタの検索に関するヘルプが必要な場合は、クラスタのリストを参照してください。
  2. クラスタ詳細ページのノード・プール・タブで、「ノード・ プールの追加」を選択して、新しい管理対象ノード・プールを作成し、そのワーカー・ノードに必要なプロパティを指定します。
  3. クラスタ内の管理対象ノード・プールにノード配置構成を指定する場合:
    1. 最初の可用性ドメインおよびサブネットを指定します:
      • 可用性ドメイン:ワーカー・ノードを作成する可用性ドメインを選択してください。コンピュート・ホスト・グループを選択する場合、コンピュート・ホスト・グループは同じ可用性ドメインに存在する必要があります。
      • ワーカー・ノード・サブネット・コンパートメント:ワーカー・ノード・サブネットが存在するコンパートメントを選択します。
      • ワーカー・ノード・サブネット:指定したコンパートメント内のサブネットのリストから、ワーカー・ノードをホストするように構成されたリージョナル・サブネット(推奨)またはAD固有のサブネットを選択します。
      • フォルト・ドメイン: (オプション)ワーカー・ノードを配置する可用性ドメイン内の1つ以上のフォルト・ドメイン。
    2. 「拡張オプション」を選択し、使用するコンピュート・ホスト・グループを指定します:

      • 容量タイプ: 「ホストグループ」を選択します。
      • コンパートメント:コンピュート・ホスト・グループを含むコンパートメントを選択してください。
      • ホストグループ:リストから使用するコンピュートホストグループを選択します。コンピュート・ホスト・グループは、配置構成と同じ可用性ドメインに存在する必要があります。

    3. オプションで、「行の追加」を選択して、可用性ドメイン、サブネットおよびコンピュート・ホスト・グループを配置構成に追加します。ノード・プールの配置構成に複数の可用性ドメインを指定する場合は、可用性ドメインごとに異なるコンピュート・ホスト・グループを指定できます。
  4. ノード・プールを作成します。

Kubernetes Engineは、管理対象ノード・プールを作成します。コンピュート・ホスト・グループを指定する配置構成ごとに、コンピュート・サービスによって、選択したコンピュート・ホスト・グループのホストにワーカー・ノード・インスタンスが配置されます。

管理対象ノード・プールの計算ホスト・グループの更新

  1. 「クラスタ」リスト・ページで、変更するクラスタの名前を選択します。リスト・ページまたはクラスタの検索に関するヘルプが必要な場合は、クラスタのリストを参照してください。
  2. クラスタの詳細ページの「ノード・プール」タブで、変更する管理対象ノード・プールの名前を選択します。
  3. 「アクション」メニューから「編集」を選択します。
  4. 「ノード配置構成」で、「拡張オプション」を選択し、必要に応じて容量タイプまたは選択したコンピュート・ホスト・グループを更新します。
  5. 変更を保存します。

更新されたコンピュート・ホスト・グループは、新しいワーカー・ノード・インスタンスに使用されます。既存のワーカー・ノード・インスタンスは自動的には移動されません。

更新されたコンピュート・ホスト・グループを既存のノードで使用するには、コンピュート・サービスが更新されたコンピュート・ホスト・グループのホストに配置されるように、既存のワーカー・ノード・インスタンスを終了して置換します。詳細は、ワーカー・ノードの終了および置換を参照してください。

CLIの使用

計算ホスト・グループを使用する管理対象ノード・プールの作成

CLIを使用して、コンピュート・ホスト・グループを使用して管理対象ノードをプロビジョニングする管理対象ノード・プールを作成するには、--node-config-detailsパラメータのplacementConfigs配列にhostGroupIdキー/値ペアを次の形式で含めます:

oci ce node-pool create \
  --cluster-id <cluster_OCID> \
  --compartment-id <compartment_OCID> \
  --name <node_pool_name> \
  --kubernetes-version <kubernetes_version> \
  --node-shape <shape> \
  --node-config-details '{
    "size": 3,
    "placementConfigs": [
      {
        "availabilityDomain": "<availability_domain>",
        "subnetId": "<subnet_OCID>",
        "hostGroupId": "<host_group_OCID>"
      }
    ]
  }'

コンピュート・ホスト・グループは配置構成と同じ可用性ドメインに存在する必要があり、ノード・プール・シェイプはコンピュート・ホスト・グループ・シェイプと一致する必要があります。

管理対象ノード・プールの計算ホスト・グループの更新

CLIを使用して、コンピュート・ホスト・グループを使用して管理対象ノードをプロビジョニングする管理対象ノード・プールを更新するには、--node-config-detailsパラメータのplacementConfigs配列にhostGroupIdキー/値ペアを次の形式で含めます:

oci ce node-pool update \
  --node-pool-id <node_pool_OCID> \
  --node-config-details '{
    "placementConfigs": [
      {
        "availabilityDomain": "<availability_domain>",
        "subnetId": "<subnet_OCID>",
        "hostGroupId": "<host_group_OCID>"
      }
    ]
  }'

hostGroupIdを更新すると、新しいワーカー・ノード・インスタンスに影響します。既存のワーカー・ノード・インスタンスは自動的には移動されません。更新されたコンピュート・ホスト・グループを既存のノードで使用するには、コンピュート・サービスが更新されたコンピュート・ホスト・グループのホストに配置されるように、既存のワーカー・ノード・インスタンスを終了して置換します。詳細は、ワーカー・ノードの終了および置換を参照してください。

APIの使用

管理対象ノード・プールを作成または更新する場合は、コンピュート・ホスト・グループを使用する各配置構成でhostGroupIdを指定します。

ノード・プールの作成リクエストの場合は、次を指定します:

CreateNodePoolDetails.createNodePoolNodeConfigDetails.placementConfigs[].hostGroupId

ノード・プールの更新リクエストの場合は、次を指定します:

UpdateNodePoolDetails.updateNodePoolNodeConfigDetails.placementConfigs[].hostGroupId

トラブルシューティング

次の情報を使用して、管理対象ノード・プール内のコンピュート・ホスト・グループに関する問題をトラブルシューティングします。

コンピュート・ホスト・グループはリストで使用できません

次の点を確認してください。

  • 正しいコンパートメントが選択されました。
  • コンピュート・ホスト・グループは、配置構成と同じ可用性ドメインにあります。
  • コンピュートホストグループがアクティブです。
  • コンピュート・ホスト・グループを表示または使用する権限があります。

ノード・プールの作成または更新の失敗

次の点を確認してください。

  • ノード・プール・シェイプは、コンピュート・ホスト・グループ・シェイプと一致します。
  • 必要なIAMポリシーが存在します。
  • 選択したコンピュート・ホスト・グループは削除または非アクティブではありません。
  • 選択したコンピュート・ホスト・グループは、配置構成と同じ可用性ドメインにあります。

既存のノードは、更新されたコンピュートホストグループに移動しませんでした

コンピュート・ホスト・グループを変更すると、新しいワーカー・ノード・インスタンスに影響します。既存のワーカー・ノード・インスタンスは自動的には移動されません。

更新されたコンピュート・ホスト・グループを既存のノードで使用するには、コンピュート・サービスが更新されたコンピュート・ホスト・グループのホストに配置されるように、既存のワーカー・ノード・インスタンスを終了して置換します。詳細は、ワーカー・ノードの終了および置換を参照してください。