从层次结构控制器迁移到分层命名空间控制器 (HNC)

本页面介绍如何从层次结构控制器(自 2024 年 12 月起不再可用)迁移到开源 Kubernetes 分层命名空间控制器 (HNC)

如需确定如何迁移到 HNC,请检查 kubectl ConfigManagement 对象gcloud apply spec 文件,并执行与以下字段中的值对应的操作:

停用层次结构控制器

停用层次结构控制器后,系统会删除集群中的层次结构控制器组件。它不会删除层次结构控制器自定义资源定义 (CRD):

  • HierarchyConfiguration
  • HNCConfiguration
  • SubnamespaceAnchor
  • HierarchicalResourceQuota

如需移除层次结构控制器字段,请查看用于安装层次结构控制器的方法的说明:

Google Cloud CLI apply spec 文件中移除 hierarchyController 块。

Terraform 资源中移除 hierarchyController 块。

GKEHubFeatureMembership 资源中将层次结构控制器字段设置为 false

ConfigManagement 对象中移除 hierarchyController 块。

安装 HNC

按照说明在集群上安装 HNC

如果您使用的是分层资源配额,则必须安装 HNC 1.1.0 版或更高版本。

迁移分层资源配额

如果您将 hierarchyController.enableHierarchicalResourceQuota 设置为 true 以将分层资源配额与层级结构控制器搭配使用,则需要完成以下步骤才能完成向 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. 从层次结构控制器中删除分层资源配额的 CRD:

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