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

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

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

停用层次结构控制器

停用层次结构控制器后,系统会删除集群中的层次结构控制器组件。它不会删除层次结构控制器自定义资源定义 (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 的迁移:

  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