Tiempo estimado para completar la actividad: 15 minutos
Propietario del componente operable: RMPerfil de habilidad: ingeniero de implementación
El recurso OrganizationZonalConfig es la fuente que controla la configuración por zona de una organización.
El recurso OrganizationZonalConfig raíz es necesario para administrar el ciclo de vida del clúster de administrador raíz para las actualizaciones. Debes crear el recurso con IaC.
Sigue estos pasos para crear el recurso raíz OrganizationZonalConfig:
Genera el recurso personalizado
OrganizationZonalConfigraíz: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)Reemplaza
ROOT_ADMIN_KUBECONFIGpor la ruta de acceso al archivo kubeconfig del clúster de administrador raíz.Un ejemplo del archivo YAML del recurso personalizado
OrganizationZonalConfiggenerado es similar al siguiente: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: 10TiCopia el recurso personalizado
OrganizationZonalConfigen el repositorio de IaC.cp YAML_FILE_PATH IAC_REPO_PATH/iac/infrastructure/global/orgs/root/Reemplaza lo siguiente:
YAML_FILE_PATH: Es la ruta de acceso al archivo del recurso personalizado deOrganizationZonalConfig.IAC_REPO_PATH: Es la ruta de acceso al repositorio de IAC.
Agrega el
OrganizationZonalConfigraíz como un recurso de la organización raíz.Abre el archivo
global-root-kustomization.yaml:vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/global-root-kustomization.yamlAgrega el
OrganizationZonalConfigraíz como un recurso al final de la lista de recursos existente:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: global-root-kustomization resources: - ... # existing resource items - FILE_NAME.yaml
Agrega y confirma el archivo YAML
OrganizationZonalConfigy los archivoskustomize:git add "IAC_REPO_PATH/iac/infrastructure/global" git commitCrea la solicitud de combinación:
git checkout -b BRANCH_NAME git -c http.sslVerify=false push -o merge_request.create origin BRANCH_NAMEReemplaza
BRANCH_NAMEpor el nombre que elegiste para tu rama.Espera la revisión de código y la combinación.
Usa la configuración de Kubernetes del administrador para el clúster de administrador raíz y recupera la configuración de Kubernetes del administrador para la API global:
kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfigReenvía el puerto para la API global con la configuración de Kubernetes del administrador para el clúster de administrador raíz:
kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &En este paso, se ejecuta el comando de redirección de puertos en segundo plano. Si el proceso se detiene de forma inesperada, puedes reiniciarlo volviendo a ejecutar el mismo comando.
Verifica que el recurso
OrganizationZonalConfigesté disponible en tu entorno de GDC:kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get organizationzonalconfig -AEl resultado debe incluir la siguiente entrada, con posibles diferencias en el nombre de la zona:
NAMESPACE NAME AGE gpc-system rootzone1config 38h