Geschätzte Bearbeitungszeit: 15 Minuten
Eigentümer der bedienbaren Komponente: RMKompetenzprofil: Bereitstellungsingenieur
Die Ressource OrganizationZonalConfig ist die Quelle, mit der zonenspezifische Konfigurationen einer Organisation gesteuert werden.
Die Root-OrganizationZonalConfig-Ressource ist erforderlich, um den Lebenszyklus des Root-Administratorclusters für Upgrades zu verwalten. Sie müssen die Ressource mit IaC erstellen.
So erstellen Sie die OrganizationZonalConfig-Ressource auf Stammebene:
Erstellen Sie die benutzerdefinierte
OrganizationZonalConfig-Ressource des Stamms: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)Ersetzen Sie
ROOT_ADMIN_KUBECONFIGdurch den Pfad zur kubeconfig-Datei des Administratorclusters auf der Stammebene.Ein Beispiel für die generierte YAML-Datei für die benutzerdefinierte
OrganizationZonalConfig-Ressource sieht so aus: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: 10TiKopieren Sie die benutzerdefinierte Ressource
OrganizationZonalConfigin das IaC-Repository.cp YAML_FILE_PATH IAC_REPO_PATH/iac/infrastructure/global/orgs/root/Ersetzen Sie Folgendes:
YAML_FILE_PATH: der Pfad zur Datei der benutzerdefinierten RessourceOrganizationZonalConfig.IAC_REPO_PATH: der IAC-Repository-Pfad.
Fügen Sie die Stamm-
OrganizationZonalConfigals Ressource der Stammorganisation hinzu.Öffnen Sie die Datei
global-root-kustomization.yaml.vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/global-root-kustomization.yamlFügen Sie die Stammressource
OrganizationZonalConfigam Ende der vorhandenen Ressourcenliste hinzu:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: global-root-kustomization resources: - ... # existing resource items - FILE_NAME.yaml
Stellen Sie die
OrganizationZonalConfig-YAML-Datei und diekustomize-Dateien bereit und committen Sie sie:git add "IAC_REPO_PATH/iac/infrastructure/global" git commitZusammenführungsanfrage erstellen:
git checkout -b BRANCH_NAME git -c http.sslVerify=false push -o merge_request.create origin BRANCH_NAMEErsetzen Sie
BRANCH_NAMEdurch den ausgewählten Namen für Ihren Branch.Warten Sie auf die Codeüberprüfung und das Zusammenführen.
Verwenden Sie die Kubernetes-Administratorkonfiguration für den Administrator-Root-Cluster und rufen Sie die Kubernetes-Administratorkonfiguration für die globale API ab:
kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfigLeiten Sie den Port für die globale API mit der Kubernetes-Konfiguration des Administrators für den Stammadministratorcluster weiter:
kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &In diesem Schritt wird der Befehl zur Portweiterleitung im Hintergrund ausgeführt. Wenn der Vorgang unerwartet beendet wird, können Sie ihn mit demselben Befehl neu starten.
Prüfen Sie, ob die Ressource
OrganizationZonalConfigin Ihrer GDC-Umgebung verfügbar ist:kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get organizationzonalconfig -ADie Ausgabe muss den folgenden Eintrag enthalten, wobei der Zonennamen abweichen kann:
NAMESPACE NAME AGE gpc-system rootzone1config 38h