Geschätzte Dauer: 60 Minuten
Eigentümer der betriebsbereiten Komponente: IACKompetenzprofil: Bereitstellungsingenieur
Infrastruktur als Code (IaC) in Google Distributed Cloud (GDC) mit Air Gap besteht aus zwei Systemen:
Config Sync ist eine Komponente, die in Distributed Cloud Infrastructure as Code (IaC) zum Verwalten von Ressourcen auf Clusterebene und freigegebenen Diensten verwendet wird.
GitLab hostet ein Git-Repository, das als „Source of Truth“ (SoT) für Config Sync dient. Ein Zielcluster ist ein Cluster, der von Config Sync über die SoT im Repository verwaltet wird.
- GitLab enthält ein System zur Codeüberprüfung, mit dem die Genehmigung durch mehrere Parteien (Multi-Party Approval, MPA) für Richtlinien- und Konfigurationsänderungen implementiert werden kann.
Bei einer Bereitstellung sind die folgenden beiden Zonentypen beteiligt:
- Ankerzone: Die Zone, die bereits Teil der globalen Steuerungsebene ist. Die erste Zone ist die Ankerzone einer Bereitstellung.
- Beitrittszone: Die Zone, die der globalen Steuerungsebene beitritt.
Config Sync verwaltet Kubernetes-Objekte in den Clustern root-admin und „organization-admin“. Es ist so konfiguriert, dass es aus dem Distributed Cloud IaC-Repository liest, das von GitLab im primären root-admin-Cluster bereitgestellt wird.
Distributed Cloud installiert IaC während des Bootstrapping. Führen Sie die folgenden manuellen Schritte aus, um die IaC-Einrichtung abzuschließen.
23.1. Erste Zone für IaC einrichten
Dieser Abschnitt enthält Schritte zum Einrichten von IaC in der ersten Bereitstellungszone.
23.2. Vorbereitung
- Der Stammadministratorcluster wurde gebootstrapped.
- Erstellen Sie einen SAML-Client in der Active Directory Federation Services-Instanz (ADFS) von OC IT als Identitätsföderationsclient in GitLab.
23.3. Tag 0: Zugriff auf GitLab
Öffnen Sie die GitLab-Webkonsole unter
https://iac.GDC_URL.GDC_URList die Domain, die im CIQ angegeben wurde.# Use the root kubeconfig of the root admin cluster. export ANCHOR_KUBECONFIG=ANCHOR_ZONE_KUBECONFIG echo https://$(kubectl --kubeconfig $ANCHOR_KUBECONFIG get dnsregistrations \ -n gitlab-system iac -o jsonpath='{.status.fqdn}')Verwenden Sie den Nutzernamen für Tag 0:
ioadmin.Führen Sie den folgenden Befehl aus, um das Passwort abzurufen:
export IO_ADMIN_PWD=$(kubectl --kubeconfig $ANCHOR_KUBECONFIG \ get secret gitlab-basic-users -n gitlab-system \ -o jsonpath='{.data.admin}' | base64 -d)Melden Sie sich an und rufen Sie Menü > Projekte > Projekte durchsuchen gdch / iac auf, um zu prüfen, ob das
iac-Git-Repository erstellt wurde.
23.4. Administratoren erstellen
- Erstellen Sie dedizierte Administratorkonten in ADFS. Sie dürfen nicht für nicht administrative Zwecke verwendet werden und müssen die Erweiterung „-ga“ haben. Die ersten Administratornutzer MÜSSEN hier dieselbe
emailverwenden, die sie in Active Directory Federation Services (ADFS) verwenden. Führen Sie den folgenden Befehl aus, um einen neuen Nutzer zu erstellen:
export NEW_USER_NAME=NEW_USER_NAME export NEW_USER_USERNAME=NEW_USERNAME export NEW_USER_PWD=NEW_USER_PWD export NEW_USER_EMAIL=NEW_USER_EMAIL export GDC_URL=GDC_URL export TOKEN=$(curl -X POST https://iac.$GDC_URL/oauth/token \ -d "grant_type=password&username=ioadmin&password=${IO_ADMIN_PWD}" \ | jq -r '.access_token') USERID=$(curl -X GET https://iac.$GDC_URL/api/v4/users \ -d access_token=${TOKEN} -d username=ioadmin |\ sed -E 's/.*"id":"?([^,"]*)"?.*/\1/') curl -X POST https://iac.$GDC_URL/api/v4/users \ -d username=${NEW_USER_USERNAME} -d password=${NEW_USER_PWD} -d name=${NEW_USER_NAME} \ -d email=${NEW_USER_EMAIL} -d admin=true -d access_token=${TOKEN} curl -X POST https://iac.$GDC_URL/oauth/revoke \ -d client_id=${USERID} -d "token=${TOKEN}"
23.5. GitLab-Lizenz aktualisieren
Für viele Funktionen von GitLab ist eine „Ultimate“-Lizenz erforderlich. In diesem Schritt ersetzen Sie die mit GDC gelieferte temporäre Lizenz durch die eigene Lizenz der Website. GitLab EE mit einer Lizenzdatei oder einem Schlüssel aktivieren enthält alle Details.
Der Lizenzschlüssel für die Website, den Sie erhalten haben, ist eine base64-codierte ASCII-Textdatei mit der Erweiterung .gitlab-license. Mit diesem Schlüssel aktivieren Sie GitLab.
- Melden Sie sich in der GitLab-Webkonsole als
ioadminan. - Wählen Sie in der Navigationsleiste Menü und dann Administrator aus.
- Wählen Sie im Navigationsmenü Einstellungen und dann Allgemein aus.
- Fügen Sie im Bereich „Lizenz hinzufügen“ eine Lizenz hinzu, indem Sie entweder die Datei hochladen oder den Schlüssel eingeben.
- Klicken Sie das Kästchen für die Nutzungsbedingungen an.
- Wählen Sie „Lizenz hinzufügen“ aus.
23.6. GitLab-Repository einrichten
ConfigSync verwaltet Kubernetes-Objekte im Root-Administratorcluster und in Organisationsadministratorclustern und ist so konfiguriert, dass Daten aus dem von GitLab bereitgestellten Distributed Cloud IaC-Repository im Root-Administratorcluster gelesen werden.
Wir müssen die ersten GitLab-Ordner für Configsync einrichten, damit Konfigurationen verwendet und auf den erforderlichen Kubernetes-Cluster angewendet werden können.
infrastructure
│ └── zonal
│ └── zones
│ ├── ${anchor_zone_name}
│ ├── root-admin
│ ├── kustomization.yaml
│ └── global
│ └── orgs
│ ├── root
│ ├── kustomization.yaml
So erstellen Sie die erste Dateistruktur:
Öffnen Sie das
iac-Repository über „Menü –> Projekte ansehen“.Öffnen Sie die Web-IDE.
Erstellen Sie eine Datei in
/infrastructure/zonal/zones/${anchor_zone_name}/root-admin/kustomization.yamlmit folgendem Inhalt:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: root-admin-kustomizationKlicken Sie auf die Schaltfläche „Commit“.
Wählen Sie „Commit in den Hauptzweig übernehmen“ aus und bestätigen Sie die Auswahl.
23.7. Genehmigung durch mehrere Parteien einrichten
In diesem Abschnitt können Sie das System so konfigurieren, dass für jede Merge-Anfrage für das iac-Repository eine Genehmigung erforderlich ist. Außerdem können Sie direkte Commits (ohne Erstellen einer Merge-Anfrage) für den main-Branch verhindern, um die Genehmigung durch mehrere Parteien (Multi-Party Approval, MPA) zu erzwingen.
23.7.1. Genehmigung von Merge-Anfragen in GitLab aktivieren
Rufen Sie das Repository
iacauf.Erstellen Sie mit der Web-IDE im Stammordner eine Datei namens
CODEOWNERSund fügen Sie die Distributed Cloud-Gruppe als Repository-Inhaber hinzu:[Repository Owners] * @gdchNur Nutzer, die der Datei
CODEOWNERShinzugefügt wurden, können Merge-Anfragen im Repositoryiacgenehmigen. Diese generische Datei dient nur zu Einrichtungszwecken. Eine detailliertere Anleitung zu Berechtigungen für die detaillierte Genehmigung finden Sie unter IAC-R0007.Klicken Sie auf die Schaltfläche Commit.
Wählen Sie Commit to the main branch (Im Hauptzweig committen) aus und bestätigen Sie den Vorgang.
Wenn Sie der Datei
CODEOWNERSweitere Nutzer hinzufügen möchten, erstellen Sie eine Merge-Anfrage, die von vorhandenen Nutzern inCODEOWNERSgenehmigt werden muss.
23.8. Active Directory Federation Services (ADFS) mit GitLab verbinden
Sie können ADFS mit einem SAML-Client über das Auth-Framework von GitLab mit GitLab verbinden.
Wenn Sie eine private Zertifizierungsstelle für Ihren Identitätsanbieter verwenden, müssen Sie sie der GitLab-Instanz hinzufügen. Rufen Sie die Base64-Version des ADFS-CA-Zertifikats ab und speichern Sie sie in einem Secret.
cat <<EOF > adfs-ca-cert-secret.yaml
apiVersion: v1
data:
tls.crt: ADFS_CA_CERTIFICATE_BASE64
kind: Secret
metadata:
name: adfs-ca-cert-secret
namespace: gitlab-system
type: Opaque
EOF
kubectl apply -f adfs-ca-cert-secret.yaml
23.8.1. ADFS für die SAML-Authentifizierung konfigurieren
Bevor Sie GitLab über die Helm-Konfiguration mit ADFS verbinden, muss ADFS einen SAML-Client erstellen. Gehen Sie in Ihrer Windows-Instanz so vor:
Führen Sie die App AD FS Management als Administrator aus.
Klicken Sie im Verzeichnis AD FS auf den Ordner Vertrauensstellung der vertrauenden Seite. Klicken Sie im Bereich Aktionen auf Vertrauensstellung der vertrauenden Seite hinzufügen.

Der Assistent zum Hinzufügen einer Vertrauensstellung der vertrauenden Seite wird geöffnet. Wählen Sie im ersten Schritt Claims aware aus und klicken Sie auf Start.

Wählen Sie Daten über die vertrauende Seite manuell eingeben aus und klicken Sie auf Weiter.

Geben Sie im Feld Anzeigename und Hinweise einige erkennbare Informationen zur ADFS-Instanz ein. Klicken Sie auf Weiter.

Überspringen Sie den Schritt Zertifikat konfigurieren, indem Sie auf Weiter klicken.
Klicken Sie das Kästchen Unterstützung für das SAML 2.0-WebSSO-Protokoll aktivieren an. Geben Sie im Feld URL des SAML 2.0-Diensts für einmaliges Anmelden der vertrauenden Seite Folgendes ein:
https://iac.GDC_URL/users/auth/saml/callback.Ersetzen Sie GDC_URL durch die URL der Organisation in GDC.

Geben Sie einen Namen für IaC ein und fügen Sie Folgendes hinzu:
https://iac.GDC_URL.sesame.street https://iac.GDC_URL.sesame.street/users/auth/saml/callbackKlicken Sie bei den Schritten Configure Identifiers (Kennungen konfigurieren), Choose Access Control Policy (Zugriffssteuerungsrichtlinie auswählen) und Ready to Add Trust (Vertrauensstellung hinzufügen) auf Next (Weiter), um den Assistenten abzuschließen.
# Replace GDC_URL with the cells URL, for example, bert.sesame.street https://iac.GDC_URL https://iac.GDC_URL/users/auth/saml/callbackDie Anzeige wird mit der neu erstellten Vertrauensstellung der vertrauenden Seite aktualisiert. Klicken Sie mit der rechten Maustaste auf das Element und wählen Sie Richtlinie für Anspruchsausstellung bearbeiten aus.
Klicken Sie auf die Schaltfläche Regel hinzufügen und wählen Sie im Schritt Regeltyp auswählen die Anspruchsregelvorlage LDAP-Attribute als Ansprüche senden aus. Klicken Sie auf Weiter.
Füllen Sie im Schritt Anspruchsregel konfigurieren die folgenden Parameter aus:
- Geben Sie im Feld Claim rule name den Wert
Emailein. - Wählen Sie in der Liste Attributspeicher die Option Active Directory aus.
- Wählen Sie in der Tabelle Zuordnung von LDAP-Attributen zu ausgehenden Anforderungstypen in der Spalte LDAP-Attribut die Option
E-Mail-Addressesaus oder geben Sie sie ein. Wählen Sie in der Spalte Typ des ausgehenden Anspruchs der Tabelle
E-Mail Addressaus oder geben SieE-Mail Addressein.
Beenden Sie den Assistenten.
- Geben Sie im Feld Claim rule name den Wert
Klicken Sie auf die Schaltfläche Regel hinzufügen.
Klicken Sie mit der rechten Maustaste auf das Element und dann noch einmal auf Richtlinie für die Ausstellung von Ansprüchen bearbeiten.
Wählen Sie im Schritt Regeltyp auswählen die Anspruchsregelvorlage Eingehenden Anspruch transformieren aus. Klicken Sie auf Weiter.
Füllen Sie im Schritt Anspruchsregel konfigurieren die folgenden Parameter aus:
- Geben Sie im Feld Claim rule name den Wert
Transform email to nameidein. - Wählen Sie im Feld Eingehender Anspruchstyp die Option
E-Mail Addressaus oder geben Sie sie ein. - Wählen Sie im Feld Typ des ausgehenden Anspruchs die Option
Name IDaus oder geben Sie sie ein. - Wählen Sie im Feld Format der ausgehenden Namens-ID die Option
Persistent Identifieraus oder geben Sie sie ein. Wählen Sie die Option Alle Anspruchswerte übergeben aus.

Beenden Sie den Assistenten.
- Geben Sie im Feld Claim rule name den Wert
23.8.2. SAML-Konfiguration zu GitLab hinzufügen
In diesem Abschnitt wird beschrieben, wie Sie die SAML-Konfiguration zu GitLab hinzufügen.
23.8.2.1. GitLab beim Identitätsanbieter registrieren
Öffnen Sie die SAML-Clientkonfiguration in ADFS. Für die Einbindung in Ihren IdP sind in GitLab die folgenden Werte erforderlich:
assertion_customer_service_url: Der IdP leitet den Nutzer nach der Authentifizierung an diese URL weiter. Stell die Temperatur auf
https://iac.GDC_URL/users/auth/saml/callback.Ersetzen Sie GDC_URL durch die URL der Organisation in GDC.
idp_cert_fingerprint: GitLab verwendet diesen Fingerabdruck, um das Zertifikat einer eingehenden SAML-Nachricht zu überprüfen. So finden Sie die
idp_cert_fingerprintin ADFS:Führen Sie die App
AD FS Managementals Administrator aus.Klicken Sie in der Verzeichnisstruktur AD FS > Dienst > Zertifikate auf den Ordner Zertifikate. Im Bereich Tokensignatur wird ein Zertifikat angezeigt. Klicken Sie mit der rechten Maustaste auf das Zertifikat und wählen Sie Zertifikat anzeigen aus.
Rufen Sie im Fenster Zertifikat den Tab
Detailsauf. Scrolle durch die Liste, bis du den EintragThumbprintsiehst. Klicken Sie auf das Element und kopieren Sie den Inhalt, der in der Konsole angezeigt wird.
idp_sso_target_url– GitLab verwendet diesen Endpunkt für die Authentifizierung per SAML. So finden Sie dieidp_sso_target_urlin ADFS:Führen Sie die App AD FS Management als Administrator aus.
Klicken Sie in der Verzeichnisstruktur AD FS > Dienst auf den Ordner Endpoints.
Endpunkte
Suchen Sie auf dem mittleren Bildschirm nach einer Zeile mit dem Typ SAML 2.0/WS-Federation. Der Zielendpunkt ist Ihre ADFS-URL und der Zielendpunkt. Wenn der Domainname Ihrer Instanz beispielsweise
https://ocit.gdch.test/und der Zielendpunkt/adfs/lsist, lautetidp_sso_target_urlhttps://ocit.gdch.test/adfs/ls.
issuer: Die URL, die GitLab zur Identifizierung verwendet. Verwenden Siehttps://iac.GDC_URL.Bereiten Sie die oben genannten IdP-Werte vor und schreiben Sie sie in eine benutzerdefinierte Konfiguration mit dem Namen
custom_saml.yaml. Bearbeiten Sie diese YAML-Datei, um die für Ihren SAML-Client erforderliche Konfiguration zu erhalten.cat <<EOF > custom_saml.yaml name: saml label: "ADFS SAML" # This is the label the login button will use. args: assertion_consumer_service_url: "https://iac.GDC_URL/users/auth/saml/callback" idp_cert_fingerprint: "ADFS_IDP_CERT_FINGERPRINT" idp_sso_target_url: "ADFS_IDP_SSO_TARGET_URL" issuer: "https://iac.GDC_URL" # These parameters are necessary for ADFS to connect to GitLab. Do not change unless you are sure of what you're doing. name_identifier_format: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" attribute_statements: { email: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'] } EOFWenn Sie bereit sind, wenden Sie die Konfiguration als Secret mit dem Namen
custom-gitlab-saml-provideran.cat <<EOF > custom-gitlab-saml-provider.yaml apiVersion: v1 data: provider: | $(cat custom_saml.yaml | base64 -w 0) kind: Secret metadata: name: custom-gitlab-saml-provider namespace: gitlab-system annotations: "helm.sh/hook": post-install,post-upgrade "helm.sh/hook-weight": "-5" EOF kubectl apply -f custom-gitlab-saml-provider.yamlSie können das Secret beim Erstellen von
subcomponentoverride.yamlverwenden. Weitere Informationen zu Variablen finden Sie in der GitLab-Dokumentation.cat <<EOF > subcomponentoverride.yaml apiVersion: lcm.private.gdc.goog/v1 kind: SubcomponentOverride metadata: name: iac-gitlab namespace: root spec: subComponentRef: "iac-gitlab" backend: operableParameters: omniauth: enabled: true providers: - secret: custom-gitlab-saml-provider certificates: customCAs: - secret: adfs-ca-cert-secret - configMap: trust-store-root-ext EOF kubectl apply -f subcomponentoverride.yaml
Dadurch wird die Überschreibung der untergeordneten Komponente erstellt. Führen Sie folgenden Befehl aus, um zu prüfen, ob die Konfiguration erstellt wurde:
sh
kubectl get subcomponentoverride -n root
Die Ausgabe sieht etwa so aus:
NAME AGE
iac-gitlab 1s
23.8.2.2. Ersten angemeldeten SAML-Nutzer initialisieren
Wenn Sie SAML aktivieren, wird die lokale Anmeldung entfernt. Nutzer müssen die Verfahren für den Notfallzugriff durchlaufen, um die lokale Anmeldung wieder zu aktivieren und wieder Zugriff auf ioadmin zu erhalten.
Die ersten initialisierten Administratoren, die in Administratornutzer erstellen erstellt wurden, funktionieren ohne weitere Änderungen als Administratoren. Sie sollten keinen Zugriff auf das Projekt haben. Wenn Sie dem Distributed Cloud-Projekt Nutzer hinzufügen möchten, folgen Sie der Anleitung unter Neuen Nutzer über ADFS einbinden.
23.8.3. ADFS-Verbindung prüfen
Prüfen Sie den Status der GitLab-
webservice-Pods:kubectl --kubeconfig $KUBECONFIG get pod -l app=webservice,release=gitlab -n gitlab-systemNAME BEREIT STATUS NEUSTARTS AGE gitlab-webservice-default-5d99b4d7c7-9fmln 2/2 Wird ausgeführt 0 4m6s gitlab-webservice-default-5d99b4d7c7-w99p4 2/2 Wird ausgeführt 0 96 s gitlab-webservice-default-7884d4c8b9-qjhtv 2/2 Wird beendet 0 18 Std. Rufen Sie
https://iac.GDC_URLauf und prüfen Sie, ob dieser Bildschirm angezeigt wird. Er enthält die Schaltfläche ADFS SAML für die SSO-Anmeldung und keine Felder für die direkte Anmeldung mit Nutzername und Passwort.Klicken Sie auf ADFS SAML. Prüfen Sie, ob Sie zur Anmeldung bei ADFS aufgefordert werden.
Prüfen Sie nach der Anmeldung bei ADFS, ob Sie bei GitLab angemeldet sind und jetzt mit der Anwendung interagieren können.
23.9. Administratorkonto für Tag 0 sperren
Nachdem SAML aktiviert wurde, deaktivieren Sie die Passwortauthentifizierung für die Weboberfläche und setzen Sie dann das Passwort für ioadmin zurück, da der API-Zugriff bestehen bleibt.
Führen Sie das folgende Skript aus.
export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig export PWD=$(kubectl get secret gitlab-basic-users -n gitlab-system -o yaml \ | grep admin | head -n1 | awk '{print $2}' | xargs echo | base64 -d) export TOKEN=$(curl -X POST https://iac.GDC_URL/oauth/token \ -d "grant_type=password&username=ioadmin&password=${PWD}" \ | jq -r '.access_token') curl -X PUT https://iac.GDC_URL/api/v4/application/settings \ -d access_token=${TOKEN} \ -d password_authentication_enabled_for_web=false NEWPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) USERID=$(curl -X GET https://iac.GDC_URL/api/v4/users \ -d access_token=${TOKEN} -d username=ioadmin |\ jq -r '.[] | .id') curl -X PUT https://iac.GDC_URL/api/v4/users/${USERID} \ -d access_token=${TOKEN} -d username=ioadmin \ -d "password=${NEWPASS}" \ -d user_id=${USERID} curl -X POST https://iac.GDC_URL/oauth/revoke \ -d client_id=${USERID} -d "token=${TOKEN}"Speichern Sie das neue Passwort im Secret
gitlab-basic-users.kubectl patch secret gitlab-basic-users -n gitlab-system --type=json -p'[{"op": "replace", "path": "/data/admin", "value": '"$(echo $NEWPASS | base64 -w0)"'}]'
Verwenden Sie Konten im OI ADFS, um sich anzumelden.
23.10. IaC für die Beitrittszone einrichten
In diesem Abschnitt werden die Schritte zum Einrichten von IaC in der Joining-Zone der Bereitstellung beschrieben.
23.11. Vorbereitung
Bevor Sie die Join-Zone einrichten, müssen Sie den Root-Administratorcluster booten.
23.12. Config Sync-Anmeldedaten konfigurieren
So konfigurieren Sie Config Sync-Anmeldedaten:
Stellen Sie eine Verbindung zum Root-Administratorcluster der Ankerzone her.
Rufen Sie die Config Sync-Anmeldedaten ab:
kubectl --kubeconfig $ANCHOR_KUBECONFIG get secret -n config-management-system iac-creds-replica -o json |\ jq 'del(.metadata.creationTimestamp, .metadata.resourceVersion, .metadata.uid)' > iac-creds-replica.jsonKopieren Sie die Datei
iac-creds-replica.json.Stellen Sie eine Verbindung zum Stammadministratorcluster der Beitrittszone her.
Fügen Sie die Datei
iac-creds-replica.jsonein.Wenden Sie die Config Sync-Anmeldedaten auf den Root-Administratorcluster an:
# Use the root kubeconfig of the root admin cluster. export JOINING_KUBECONFIG=JOINING_ZONE_KUBECONFIG kubectl --kubeconfig $JOINING_KUBECONFIG apply -f iac-creds-replica.jsonPrüfen Sie, ob die Config Sync-Anmeldedaten konfiguriert sind:
kubectl --kubeconfig $JOINING_KUBECONFIG get secret -n config-management-system \ iac-creds-replica -o yaml
23.13. Config Sync-„Source of Truth“ konfigurieren
So konfigurieren Sie die Config Sync-Source of Truth:
Stellen Sie eine Verbindung zum Root-Administratorcluster der Ankerzone her.
Rufen Sie den FQDN von GitLab ab:
export primaryDnsFQDN=$(kubectl --kubeconfig $ANCHOR_KUBECONFIG get DNSRegistration \ -n gitlab-system iac -o jsonpath='{.status.fqdn}')Stellen Sie eine Verbindung zum Stammadministratorcluster der Beitrittszone her.
Erstellen Sie die IaC-Datei
SubcomponentOverride:echo "apiVersion: lcm.private.gdc.goog/v1 kind: SubcomponentOverride metadata: name: iac namespace: root spec: subComponentRef: "iac-configsync" backend: operableParameters: primaryDnsFQDN: ${primaryDnsFQDN}" > iac-subcomponentoverride.yamlKonfigurieren Sie das Config Sync-Ziel:
kubectl --kubeconfig $JOINING_KUBECONFIG apply -f iac-subcomponentoverride.yamlPrüfen Sie, ob das Config Sync-Git-Repository konfiguriert ist:
kubectl --kubeconfig $JOINING_KUBECONFIG get RootSync -n config-management-system \ root-sync -o jsonpath='{.spec.git.repo}'Achten Sie darauf, dass Config Sync in beiden Zonen (Anker- und Joining-Zone) keine Fehler aufweist.
kubectl --kubeconfig $JOINING_KUBECONFIG get RootSync \ -n config-management-system root-sync \ -o jsonpath='{.status.source.errors[0].errorMessage}'Wenn
root-syncden Fehler KNV2004 enthält, ist der Verzeichnispfad, der von der Anker- oder Verbindungszone verwendet wird, nicht imiac-Repository vorhanden. Führen Sie Folgendes aus, um das erforderliche Verzeichnis zu finden:kubectl --kubeconfig $JOINING_KUBECONFIG get RootSync \ -n config-management-system root-sync -o jsonpath='{.spec.git.dir}'Erstellen Sie den Pfad, der vom vorherigen Befehl ausgegeben wurde, im Repository
iacund fügen Sie eine generische Dateikustomization.yamlhinzu. Führen Sie die Änderungen dann mit demmain-Zweig zusammen.Führen Sie den ursprünglichen
get RootSync-Befehl noch einmal aus, um sicherzustellen, dass Config Sync keine Fehler aufweist.