Hierarchy Controller から Hierarchical Namespace Controller(HNC)に移行する

このページでは、Hierarchy Controller(2024 年 12 月以降は使用できなくなります)からオープンソースの Kubernetes Hierarchical Namespace Controller(HNC)に移行する方法について説明します。

HNC への移行方法を決定するには、kubectl ConfigManagement オブジェクトまたは gcloud apply spec ファイルを調べ、次のフィールドの値に対応するアクションを実行します。

Hierarchy Controller を無効にする

Hierarchy Controller を無効にすると、クラスタ内の Hierarchy Controller コンポーネントが削除されます。Hierarchy Controller カスタム リソース定義(CRD)は削除されません。

  • HierarchyConfiguration
  • HNCConfiguration
  • SubnamespaceAnchor
  • HierarchicalResourceQuota

Hierarchy Controller のフィールドを削除するには、Hierarchy Controller のインストールに使用した方法の手順を確認してください。

gcloud

Google Cloud CLI apply spec ファイルから hierarchyController ブロックを削除します。

Terraform

Terraform リソースから hierarchyController ブロックを削除します。

Config Connector

GKEHubFeatureMembership リソースで、Hierarchy Controller フィールドを false に設定します。

kubectl

ConfigManagement オブジェクトから hierarchyController ブロックを削除します。

HNC をインストールする

手順に沿って クラスタに HNC をインストールします。

階層型リソース割り当てを使用している場合は、HNC バージョン 1.1.0 以降をインストールする必要があります。

階層型リソース割り当てを移行する

hierarchyController.enableHierarchicalResourceQuotatrue に設定して Hierarchy Controller で階層型リソース割り当てを使用している場合は、HNC への移行を完了するために次の操作を行います。

  1. [Releases] > [Assets] に移動して hrq.yaml ファイルをインストールして、HNC 階層型リソース割り当てをインストールします。

  2. 既存の階層型リソース割り当てのカスタム リソースを移行するには、apiVersion フィールドを hierarchycontroller.configmanagement.gke.io/v1alpha1 から hnc.x-k8s.io/v1alpha2 に変更します。クラスタのカスタム リソースを確認するには、次のコマンドを実行します。

    kubectl get hierarchicalresourcequota.hierarchycontroller.configmanagement.gke.io --all-namespaces
    
  3. 階層型リソース割り当てのリソースを再適用します。

  4. Hierarchy Controller から階層型リソース割り当ての CRD を削除します。

    kubectl delete crd hierarchicalresourcequotas.hierarchycontroller.configmanagement.gke.io