Tempo estimado para a conclusão: 15 minutos
Proprietário do componente operacional: RMPerfil de habilidade: engenheiro de implantação
O recurso OrganizationZonalConfig é a fonte que controla as configurações por zona de uma organização.
O recurso OrganizationZonalConfig raiz é necessário para gerenciar o ciclo de vida do cluster de administrador raiz para upgrades. Você precisa criar o recurso com IaC.
Siga estas etapas para criar o recurso raiz OrganizationZonalConfig:
Gere o recurso personalizado
OrganizationZonalConfigraiz:get_capacity(){ CAPACITY="$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get organizations -n gpc-system root -o json | jq -r ".spec.resourceCapacities.\"$1\" | to_entries | map(\"\(.key)=\(.value)\") | join(\",\")")"; echo $([[ -z ${CAPACITY} ]] || echo "$2=${CAPACITY} "); } VERSION=$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get organization -n gpc-system root -o json | jq .spec.version) ZONE=$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get controlplane cp -n mz-system -ojsonpath='{.spec.zone}') gdcloud organizations zonal-configs create --name=root --zones=${ZONE?} --version=${VERSION?} $(get_capacity adminServers --admin-server) $(get_capacity storage --storage-sku)Substitua
ROOT_ADMIN_KUBECONFIGpelo caminho para o arquivo kubeconfig do cluster de administrador raiz.Um exemplo do arquivo YAML de recurso personalizado
OrganizationZonalConfiggerado é semelhante a este:apiVersion: resourcemanager.global.private.gdc.goog/v1alpha1 kind: OrganizationZonalConfig metadata: namespace: gpc-system name: root-zone1-config spec: organizationRef: name: root zone: zone1 version: "1.14.0-gdch.1594" capacities: adminServers: o1-highmem1-40-gdc-metal: 3 storage: object-nearline: 10Ti object-standard: 10TiCopie o recurso personalizado
OrganizationZonalConfigpara o repositório de IaC.cp YAML_FILE_PATH IAC_REPO_PATH/iac/infrastructure/global/orgs/root/Substitua:
YAML_FILE_PATH: o caminho para o arquivo do recurso personalizadoOrganizationZonalConfig.IAC_REPO_PATH: o caminho do repositório de IAC.
Adicione o
OrganizationZonalConfigraiz como um recurso da organização raiz.Abra o arquivo
global-root-kustomization.yaml.vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/global-root-kustomization.yamlAdicione o
OrganizationZonalConfigraiz como um recurso no final da lista de recursos atual:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: global-root-kustomization resources: - ... # existing resource items - FILE_NAME.yaml
Adicione e faça commit do arquivo YAML
OrganizationZonalConfige dos arquivoskustomize:git add "IAC_REPO_PATH/iac/infrastructure/global" git commitCrie a solicitação de mesclagem:
git checkout -b BRANCH_NAME git -c http.sslVerify=false push -o merge_request.create origin BRANCH_NAMESubstitua
BRANCH_NAMEpelo nome escolhido para sua ramificação.Aguarde a revisão e a fusão do código.
Use a configuração do Kubernetes do administrador para o cluster de administrador raiz e recupere a configuração do Kubernetes do administrador para a API global:
kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfigEncaminhe a porta da API global usando a configuração do administrador do Kubernetes para o cluster de administrador raiz:
kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &Essa etapa executa o comando de encaminhamento de portas em segundo plano. Se o processo parar inesperadamente, reinicie-o executando o mesmo comando.
Verifique se o recurso
OrganizationZonalConfigestá disponível no seu ambiente do GDC:kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get organizationzonalconfig -AA saída precisa incluir a seguinte entrada, com possíveis diferenças no nome da zona:
NAMESPACE NAME AGE gpc-system rootzone1config 38h