本页面介绍如何从层次结构控制器(自 2024 年 12 月起不再可用)迁移到开源 Kubernetes 分层命名空间控制器 (HNC)。
如需确定如何迁移到 HNC,请检查 kubectl
ConfigManagement
对象或 gcloud
apply spec
文件,并执行与以下字段中的值对应的操作:
hierarchyController.enablePodTreeLabels
:如果为true
,并且您使用的是分层可观测性,请勿继续执行本页面中的步骤。请改为与 Cloud Customer Care 联系,寻求迁移到替代方案的帮助。hierarchyController.enabled:
如果true
,请执行以下操作:- 停用层次结构控制器。
- 安装 HNC。
- (可选)将分层资源配额迁移到 HNC。
停用层次结构控制器
停用层次结构控制器后,系统会删除集群中的层次结构控制器组件。它不会删除层次结构控制器自定义资源定义 (CRD):
HierarchyConfiguration
HNCConfiguration
SubnamespaceAnchor
HierarchicalResourceQuota
如需移除层次结构控制器字段,请查看用于安装层次结构控制器的方法的说明:
gcloud
从 Google Cloud CLI apply spec
文件中移除 hierarchyController
块。
Terraform
从 Terraform 资源中移除 hierarchyController
块。
Config Connector
在 GKEHubFeatureMembership
资源中将层次结构控制器字段设置为 false
。
kubectl
从 ConfigManagement
对象中移除 hierarchyController
块。
安装 HNC
按照说明在集群上安装 HNC。
如果您使用的是分层资源配额,则必须安装 HNC 1.1.0 版或更高版本。
迁移分层资源配额
如果您将 hierarchyController.enableHierarchicalResourceQuota
设置为 true
以将分层资源配额与层级结构控制器搭配使用,则需要完成以下步骤才能完成向 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
重新应用分层资源配额资源。
从层次结构控制器中删除分层资源配额的 CRD:
kubectl delete crd hierarchicalresourcequotas.hierarchycontroller.configmanagement.gke.io