このページでは、Hierarchy Controller(2024 年 12 月以降は使用できなくなります)からオープンソースの Kubernetes Hierarchical Namespace Controller(HNC)に移行する方法について説明します。
HNC への移行方法を決定するには、kubectl
ConfigManagement
オブジェクトまたは gcloud
apply spec
ファイルを調べ、次のフィールドの値に対応するアクションを実行します。
hierarchyController.enablePodTreeLabels
:true
で、階層オブザーバビリティを使用している場合は、このページの手順は実施しないでください。代わりに、Cloud カスタマーケアにお問い合わせいただき、代替手段への移行についてご相談ください。hierarchyController.enabled:
:true
の場合は、次の操作を行います。
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.enableHierarchicalResourceQuota
を true
に設定して Hierarchy Controller で階層型リソース割り当てを使用している場合は、HNC への移行を完了するために次の操作を行います。
[
Releases
] > [Assets
] に移動してhrq.yaml
ファイルをインストールして、HNC 階層型リソース割り当てをインストールします。既存の階層型リソース割り当てのカスタム リソースを移行するには、
apiVersion
フィールドをhierarchycontroller.configmanagement.gke.io/v1alpha1
からhnc.x-k8s.io/v1alpha2
に変更します。クラスタのカスタム リソースを確認するには、次のコマンドを実行します。kubectl get hierarchicalresourcequota.hierarchycontroller.configmanagement.gke.io --all-namespaces
階層型リソース割り当てのリソースを再適用します。
Hierarchy Controller から階層型リソース割り当ての CRD を削除します。
kubectl delete crd hierarchicalresourcequotas.hierarchycontroller.configmanagement.gke.io