Migrar do controlador de hierarquia para o controlador de namespace hierárquico (HNC, na sigla em inglês)

Esta página explica como migrar do Controlador de hierarquias (não disponível a partir de dezembro de 2024) para o Controlador de namespace hierárquico (HNC, na sigla em inglês) do Kubernetes de código aberto.

Para determinar como migrar para o HNC, inspecione o objeto ConfigManagement kubectl ou o arquivo gcloud apply spec e realize uma ação que corresponda ao valor nos seguintes campos:

Desativar controlador de hierarquia

Quando você desativa o controlador de hierarquia, os componentes dele são excluídos do cluster. Ele não exclua as Definições de recursos personalizados (CRD, na sigla em inglês) do controlador de hierarquia:

  • HierarchyConfiguration
  • HNCConfiguration
  • SubnamespaceAnchor
  • HierarchicalResourceQuota

Para remover os campos do controlador de hierarquia, leia as instruções para o método usado para instalar o Controlador de hierarquias:

gcloud

Remova o bloco hierarchyController da sua Arquivo apply spec da CLI do Google Cloud.

Terraform

Remova o bloco hierarchyController do recurso do Terraform.

Config Connector

Defina os campos do controlador de hierarquia como false no recurso GKEHubFeatureMembership.

kubectl

Remova o bloco hierarchyController do objeto ConfigManagement.

Instalar o HNC

Siga as instruções para instalar o HNC em um cluster.

Se você estiver usando cotas hierárquicas de recursos, será preciso instalar HNC versão 1.1.0 ou mais recente.

Migrar cotas de recursos hierárquicos

Se você usou cotas de recursos hierárquicas com o Controlador de hierarquias definindo hierarchyController.enableHierarchicalResourceQuota como true. Para concluir a migração para o HNC, siga estas etapas:

  1. Instalar as cotas de recursos hierárquicos do HNC instalando o arquivo hrq.yaml em Releases > Assets.

  2. Para migrar os recursos personalizados de cota de recursos hierárquica, mude o campo apiVersion de hierarchycontroller.configmanagement.gke.io/v1alpha1 para hnc.x-k8s.io/v1alpha2. Para encontrar os recursos personalizados no cluster, execute o seguinte comando:

    kubectl get hierarchicalresourcequota.hierarchycontroller.configmanagement.gke.io --all-namespaces
    
  3. Reaplique os recursos da cota hierárquica de recursos.

  4. Exclua o CRD da cota de recursos hierárquicos do controlador de hierarquia:

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