Anzeigen und Aktualisieren der Konfiguration für automatisch verwaltete Pakete

In diesem Thema wird die Anzeige der Konfiguration eines automatisch verwalteten Pakets erläutert, das über das tanzu-core-Repository installiert wird. Außerdem werden die Antrea-, Pinniped-, Calico-, vSphere CPI- und vSphere CSI-Konfigurationseinstellungen aufgelistet, die nach der Clustererstellung aktualisiert werden können. Informationen zur Fehlerbehebung finden Sie im Folgenden unter Aktualisieren der Paketkonfiguration und Beheben von Konfigurationsfehlern.

Anzeigen der Paketkonfiguration

Automatisch verwaltete Pakete im tanzu-core-Repository enthalten Komponenten, die grundlegende Clusterfunktionen unterstützen, wie z. B. die Antrea- oder Calico-CNI (Container Network Interface, Containernetzwerkschnittstelle) und die Pinniped-Authentifizierungskomponente. In bestimmten Fällen verweisen interne Tanzu Kubernetes Grid- und Kubernetes-Ressourcen auf diese Komponenten als addons.

So zeigen Sie die Konfiguration eines automatisch verwalteten Pakets und die darin enthaltene Add-On-Komponente an:

  • Rufen Sie den geheimen Kubernetes-Schlüssel für die installierte Add-On-Komponente ab, indem Sie den Befehl kubectl get secret CLUSTER-NAME-PACKAGE-NAME-addon -n CLUSTER-NAMESPACE für den Verwaltungscluster ausführen. Dabei gilt:

    • CLUSTER-NAME ist der Name des Zielclusters. Wenn Sie den geheimen Schlüssel für die in einem Arbeitslastcluster installierte Add-On-Komponente abrufen möchten, ist CLUSTER-NAME der Name Ihres Arbeitslastclusters.
    • PACKAGE-NAME ist der Name des Pakets.
    • CLUSTER-NAMESPACE ist der Namespace des Zielclusters.
  • Laden Sie die Konfigurationsdateien des Pakets aus projects.registry.vmware.com/tkg/packages/core herunter.

So zeigen Sie beispielsweise die Antrea-Konfiguration an:

  • Rufen Sie den geheimen Antrea-Schlüssel ab, indem Sie den folgenden Befehl für den Verwaltungscluster ausführen:

    kubectl get secret CLUSTER-NAME-antrea-addon -n CLUSTER-NAMESPACE
    
  • Laden Sie die Konfigurationsdateien des Antrea-Pakets herunter:

    1. Suchen Sie nach dem Versions-Tag für antrea im Tanzu Kubernetes-Release (TKr), die Sie zum Erstellen des Clusters verwendet haben. Sie können das TKr auch abrufen, indem Sie den Befehl kubectl get tkr für den Verwaltungscluster ausführen:

      1. Führen Sie kubectl get clusters CLUSTER-NAME -n CLUSTER-NAMESPACE --show-labels aus.

      2. Suchen Sie in der Ausgabe nach dem Wert von tanzuKubernetesRelease. Beispiel: tanzuKubernetesRelease=v1.23.10---vmware.1-tkg.1.

      3. Führen Sie kubectl get tkr TKR-VERSION aus, wobei es sich bei TKR-VERSION um den oben abgerufenen Wert handelt. Beispiel:

        kubectl get tkr v1.23.10---vmware.1-tkg.1 -o yaml
        
      4. Suchen Sie in der Ausgabe nach dem Versions-Tag unter packages/core/antrea.

        Alternativ können Sie nach dem Versions-Tag suchen, indem Sie das TKr in ~/.config/tanzu/tkg/bom/YOUR-TKR-BOM-FILE überprüfen.

    2. Laden Sie die Konfigurationsdateien des Pakets herunter. Beispiel:

      imgpkg pull -b projects.registry.vmware.com/tkg/packages/core/antrea:v1.2.3_vmware.4-tkg.1-advanced -o antrea
      
    3. Navigieren Sie zu antrea und überprüfen Sie die Dateien.

Weitere Informationen zu den Funktionen des Antrea-Container-Netzwerks finden Sie in den Versionshinweisen zu VMware Container Networking mit Antrea 1.4.0. Weitere Informationen zur Integration eines Antrea-Container-Clusters in VMware NSX finden Sie unter Integrieren von Antrea-Container-Clustern.

Aktualisieren der Paketkonfiguration und Beheben von Konfigurationsfehlern

Sie können die Konfiguration eines automatisch verwalteten Pakets aktualisieren und Konfigurationsfehler beheben, indem Sie die folgenden Ressourcen überprüfen und ändern. Da automatisch verwaltete Pakete von Tanzu Kubernetes Grid verwaltet werden, müssen Sie deren Konfiguration in der Regel nicht aktualisieren.

Typ Ressourcen Beschreibung
Konfigurationsaktualisierungen Add-On-Komponente Secret

Zum Aktualisieren der Standardkonfiguration der von einem automatisch verwalteten Paket installierten Add-On-Komponente gibt es folgende Möglichkeiten:

Fehlerbehebung Benutzerdefinierte Ressource PackageInstall und Add-On-Komponente Secret

Siehe oben. Wenn Sie außerdem temporäre Änderungen auf die Paketkonfiguration anwenden müssen, können Sie folgende Aufgaben durchführen:

  • Secret-Abgleich anhalten.
  • Abgleich der benutzerdefinierten Ressource PackageInstall anhalten.

Dadurch wird die Lebenszyklusverwaltung für das Paket deaktiviert. Verwenden Sie diese Funktion mit Bedacht. Weitere Informationen finden Sie im Folgenden unter Anhalten der Lebenszyklusverwaltung für ein automatisch verwaltetes Paket.

Weitere Informationen zu geheimen Schlüsseln für Add-On-Komponenten und benutzerdefinierte PackageInstall-Ressourcen finden Sie im Folgenden unter Schlüsselbegriffe.

Aktualisieren der Paketkonfiguration

Sie können die Standardkonfiguration der aus einem automatisch verwalteten Paket installierten Add-On-Komponente aktualisieren, indem Sie den Abschnitt values.yaml des geheimen Schlüssels der Add-On-Komponente ändern oder dem geheimen Schlüssel ein Overlay hinzufügen. Diese Änderungen sind dauerhaft.

Aktualisieren Sie den Abschnitt „values.yaml“

Im Abschnitt values.yaml können Sie die folgenden Konfigurationseinstellungen aktualisieren:

Paket Einstellung Beschreibung
Antrea antrea.config.defaultMTU null ist die Standardeinstellung.
Antrea antrea.config.tlsCipherSuites Beziehen Sie FIPS-fähige Verschlüsselungs-Suites standardmäßig ein. Für den Wechsel zu anderen Verschlüsselungs-Suites aktualisieren Sie die Werte im Feld tlsCipherSuites.
Calico calico.config.vethMTU Standardwert ist “0”, wodurch Calico die zugehörige MTU-Einstellung (Maximum Transmission Size, Maximale Übertragungseinheit) automatisch erkennt. Legen Sie diesen Parameter fest, um eine maximale Paketgröße in Byte als Zeichenfolge anzugeben.
Calico calico.config.skipCNIBinaries Standardwert ist true. Hiermit wird verhindert, dass Calico die Einstellungen vorhandener CNI-Plug-Ins während der Clustererstellung überschreibt. Wenn Sie ein Upgrade eines Clusters durchführen, legen Sie calico.config.skipCNIBinaries=true fest, um ein Überschreiben zu vermeiden.
Pinniped pinniped.supervisor_svc_external_dns Ein FQDN, der einem Pinniped-Supervisor zugeordnet ist und als Callback-URL im OIDC-IDP-Client verwendet wird. Je nach dem Diensttyp von Pinniped müssen Sie möglicherweise auch die Portnummer angeben:
  • Geben Sie für LoadBalancer in vSphere mit NSX ALB, AWS oder Azure die Portnummer nicht an: https://hr.tkg.example.com.
  • Schließen Sie für NodePort wie in vSphere ohne NSX ALB die Portnummer ein: https://hr.tkg.example.com:31234.
Pinniped pinniped.upstream_oidc_client_id Die Client-ID des OIDC-Anbieters.
Pinniped pinniped.upstream_oidc_client_secret Der geheime Clientschlüssel des OIDC-Anbieters.
Pinniped pinniped.upstream_oidc_issuer_url Die URL des OIDC-Anbieters.
Pinniped pinniped.upstream_oidc_tls_ca_data Die Base64-codierten CA-Paketdaten, die zum Überprüfen der TLS-Verbindungen zum OIDC-Anbieter verwendet werden.
Pinniped pinniped.upstream_oidc_additional_scopes Eine Liste mit zusätzlichen Geltungsbereichen, die in der Token-Antwort angefordert werden sollen.
Pinniped pinniped.upstream_oidc_claims OIDC-Beanspruchungszuordnung.
Pinniped dex.config.ldap.host* Die IP- oder DNS-Adresse Ihres LDAP-Servers. Wenn Sie den Standardport 636 in einen anderen Port ändern möchten, geben Sie “host:port” an.
Pinniped dex.config.ldap.bindDN* und dex.config.ldap.BIND_PW_ENV_VAR* Der DN und das Kennwort für ein Anwendungsdienstkonto.
Pinniped dex.config.ldap.userSearch* Suchen Sie nach Attributen für Benutzer. Informationen zum Schema finden Sie in der Dex-Dokumentation.
Pinniped dex.config.ldap.groupSearch* Suchen Sie nach Attributen für Gruppen. Informationen zum Schema finden Sie in der Dex-Dokumentation.
vSphere CSI vsphereCSI.provisionTimeout 300s ist die Standardeinstellung.
vSphere CSI vsphereCSI.attachTimeout 300s ist die Standardeinstellung.

* Wenn Sie eine Pinniped-Einstellung aktualisieren möchten, die mit dex. beginnt, finden Sie weitere Informationen unter Aktualisieren der Dex-Einstellungen nach der Bereitstellung des Verwaltungsclusters.

So ändern Sie den Abschnitt values.yaml des geheimen Schlüssels einer Add-On-Komponente:

  1. Rufen Sie den geheimen Schlüssel ab, indem Sie den Befehl kubectl get secret CLUSTER-NAME-PACKAGE-NAME-addon -n CLUSTER-NAMESPACE für den Verwaltungscluster ausführen. Beispiel:

    kubectl get secret example-workload-cluster-antrea-addon -n example-workload-cluster-namespace -o jsonpath="{.data.values\.yaml}" | base64 -d > values.yaml
    
  2. Aktualisieren Sie den Abschnitt values.yaml. Sie können alle in der obigen Tabelle aufgeführten Werte aktualisieren.

  3. Wenden Sie Ihr Update an, indem Sie die bearbeitete Datei values.yaml mit Base64 verschlüsseln und im geheimen Schlüssel des Arbeitslastclusters ersetzen. Dieser Befehl unterscheidet sich je nach dem in Ihrer Umgebung eingesetzten Betriebssystem. Beispiel:

    Linux:

    kubectl patch secret/example-workload-cluster-antrea-addon -n example-workload-cluster-namespace -p "{\"data\":{\"values.yaml\":\"$(base64 -w 0 < values.yaml)\"}}" --type=merge
    

    macOS:

    kubectl patch secret/example-workload-cluster-antrea-addon -n example-workload-cluster-namespace -p "{\"data\":{\"values.yaml\":\"$(base64 < values.yaml)\"}}" --type=merge
    
  4. Überprüfen Sie nach dem Aktualisieren des geheimen Schlüssels den Status des Pakets, indem Sie den Befehl kubectl get packageinstall ausführen. Beispiel:

    $ kubectl get packageinstall antrea -n tkg-system
    NAMESPACE    NAME                   PACKAGE NAME                      PACKAGE VERSION                 DESCRIPTION                  AGE
    tkg-system   antrea                 antrea.tanzu.vmware.com           0.13.3+vmware.1-tkg.1           Reconcile succeeded          7d14h
    

    Wenn der zurückgegebene Status Reconcile failed lautet, führen Sie den folgenden Befehl aus, um Details zu dem Fehler abzurufen:

    kubectl get packageinstall antrea -n tkg-system -o yaml
    
  5. Führen Sie den Befehl kubectl get app aus. Beispiel:

    $ kubectl get app antrea -n tkg-system
    NAME           DESCRIPTION             SINCE-DEPLOY    AGE
    antrea         Reconcile succeeded     3m23s           7h50m
    

    Wenn der zurückgegebene Status Reconcile failed lautet, führen Sie den folgenden Befehl aus, um Details zu dem Fehler abzurufen:

    kubectl get app antrea -n tkg-system -o yaml
    

In folgendem Beispiel wird die Standard-MTU (Maximum Transmission Unit, Maximale Übertragungseinheit) für Antrea aktualisiert.

stringData:
  values.yaml: |
    #@data/values
    #@overlay/match-child-defaults missing_ok=True
    ---
    infraProvider: vsphere
    antrea:
      config:
        defaultMTU: 8900
Hinweis

Stellen Sie sicher, dass Sie dieselben MTU-Einstellungen für alle Knoten in einem Cluster konfigurieren. Die Firewall-Einstellungen müssen Pakete der konfigurierten MTU-Größe zulassen. Informationen zum Beheben von Problemen, die durch unterschiedliche MTU-Einstellungen auf den Knoten in einem Cluster verursacht werden, finden Sie unter Cluster-Worker-Knoten im Status NotReady aufgrund nicht übereinstimmender MTUs.

Hinzufügen eines Overlays

In bestimmten Fällen können Sie dem geheimen Schlüssel der Add-On-Komponente ein Overlay hinzufügen. Auf diese Weise können Sie die Standardkonfiguration anpassen, die in den Paketkonfigurationsdateien definiert ist. Im folgenden Beispiel wird Pinniped angewiesen, den Diensttyp LoadBalancer anstelle von NodePort zu verwenden. Hierbei handelt es sich um die Standardeinstellung in vSphere, wenn NSX Advanced Load Balancer (ALB) nicht als Steuerungsebenen-Endpoint fungiert:

...
stringData:
 overlays.yaml: |
   #@ load("@ytt:overlay", "overlay")
   #@overlay/match by=overlay.subset({"kind": "Service", "metadata": {"name": "pinniped-supervisor", "namespace": "pinniped-supervisor"}})
   ---
   #@overlay/replace
   spec:
     type: LoadBalancer
     selector:
       app: pinniped-supervisor
     ports:
       - name: https
         protocol: TCP
         port: 443
         targetPort: 8443
 values.yaml: |
   #@data/values
   #@overlay/match-child-defaults missing_ok=True
   ---
   infrastructure_provider: vsphere
   tkg_cluster_role: management

So fügen Sie ein Overlay hinzu:

  1. Rufen Sie den geheimen Schlüssel ab, indem Sie den Befehl kubectl get secret CLUSTER-NAME-PACKAGE-NAME-addon -n CLUSTER-NAMESPACE für den Verwaltungscluster ausführen. Beispiel:

    kubectl get secret example-workload-cluster-pinniped-addon -n example-workload-cluster-namespace -o jsonpath="{.data.values\.yaml}" | base64 -d > values.yaml
    
  2. Fügen Sie den Abschnitt overlays.yaml unter stringData hinzu.

  3. Wenden Sie Ihr Update an, indem Sie die bearbeitete Datei values.yaml mit Base64 verschlüsseln und im geheimen Schlüssel des Arbeitslastclusters ersetzen. Dieser Befehl unterscheidet sich je nach dem in Ihrer Umgebung eingesetzten Betriebssystem. Beispiel:

    Linux:

    kubectl patch secret/example-workload-cluster-pinniped-addon -n example-workload-cluster-namespace -p "{\"data\":{\"values.yaml\":\"$(base64 -w 0 < values.yaml)\"}}" --type=merge
    

    macOS:

    kubectl patch secret/example-workload-cluster-pinniped-addon -n example-workload-cluster-namespace -p "{\"data\":{\"values.yaml\":\"$(base64 < values.yaml)\"}}" --type=merge
    
  4. Überprüfen Sie nach dem Aktualisieren des geheimen Schlüssels den Status des Pakets, indem Sie die Befehle kubectl get packageinstall und kubectl get app gemäß der Beschreibung unter Aktualisieren des Abschnitts „values.yaml“ ausführen.

Fehlerbehebung bei der Paketkonfiguration

Lesen Sie vor der Fehlerbehebung für automatisch verwaltete Pakete die folgenden Abschnitte:

Schlüsselbegriffe

Tanzu Kubernetes Grid verwendet die folgenden Ressourcen, um den Lebenszyklus automatisch verwalteter Pakete zu verwalten.

Im Verwaltungscluster installierte Komponenten:

  • kapp-controller, ein lokaler Paketmanager: Wenn Sie einen Verwaltungscluster bereitstellen, wird kapp-controller von der Tanzu CLI im Cluster installiert. kapp-controller installiert tanzu-addons-manager und andere automatisch verwaltete Pakete. Darüber hinaus wird kapp-controller in jedem Arbeitslastcluster installiert und verwaltet, den Sie über diesen Verwaltungscluster bereitstellen.
  • tanzu-addons-manager: Verwaltet die Add-On-Komponenten, die als automatisch verwaltete Pakete im Verwaltungscluster und in den Arbeitslastclustern installiert werden, die Sie über Ihren Verwaltungscluster bereitstellen.
  • tkr-controller: Erstellt TKrs und BoM-ConfigMaps im Verwaltungscluster.

In Arbeitslastclustern installierte Komponente:

kapp-controller installiert automatisch verwaltete Pakete in dem Arbeitslastcluster, in dem er ausgeführt wird.

Objekte:

  • Secret: Die Tanzu CLI erstellt einen Secret für jede Add-On-Komponente pro Cluster. Diese geheimen Schlüssel definieren die Konfiguration der Add-On-Komponenten. tanzu-addons-manager liest die geheimen Schlüssel und verwendet die darin enthaltenen Konfigurationsinformationen, um die Add-On-Komponenten zu konfigurieren. Alle geheimen Schlüssel werden im Verwaltungscluster erstellt.
  • PackageRepository-CR: Der tanzu-addons-manager erstellt eine PackageRepository-CR, die auf alle Package-CRs der Add-On-Komponente verweist (siehe unten).
  • Package-CR: Für jede Add-On-Komponente im PackageRepository erstellt kapp-controller eine Package-CR im Zielcluster.
  • PackageInstall-CR: Für jede Package-Add-On-Komponente erstellt tanzu-addons-manager eine PackageInstall-CR im Zielcluster, um kapp-controller darüber zu informieren, welche automatisch verwalteten Pakete installiert werden müssen.
  • App-CR: Für jede PackageInstall erstellt kapp-controller eine App-CR im Zielcluster. Anschließend gleicht kapp-controller die CR ab und installiert das Paket.
  • BoM-ConfigMap: Stellt tanzu-addons-manager Metadateninformationen zu den Add-On-Komponenten bereit, wie z. B. Image-Speicherort.

Sie können die folgenden Befehle verwenden, um den Status dieser Ressourcen zu überwachen:

Befehl Beschreibung
kubectl get packageinstall PACKAGE-NAME -n tkg-system -o yaml Überprüfen Sie die PackageInstall-CR in Ihrem Zielcluster. Beispiel: kubectl get packageinstall antrea -n tkg-system -o yaml.
kubectl get app PACKAGE-NAME -n tkg-system -o yaml Überprüfen Sie die App-CR in Ihrem Zielcluster. Beispiel: kubectl get app antrea -n tkg-system -o yaml.
kubectl get cluster CLUSTER-NAME -n CLUSTER-NAMESPACE -o jsonpath={.metadata.labels.tanzuKubernetesRelease} Überprüfen Sie im Verwaltungscluster, ob die TKr-Bezeichnung Ihres Zielclusters auf das richtige TKr verweist.
kubectl get tanzukubernetesrelease TKR-NAME Überprüfen Sie, ob das TKr im Verwaltungscluster vorhanden ist.
kubectl get configmaps -n tkr-system -l ‘tanzuKubernetesRelease=TKR-NAME’ Überprüfen Sie, ob die Ihrem TKr entsprechende BoM-ConfigMap im Verwaltungscluster vorhanden ist.
kubectl get app CLUSTER-NAME-kapp-controller -n CLUSTER-NAMESPACE Überprüfen Sie bei Arbeitslastclustern, ob die kapp-controller-App-CR im Verwaltungscluster vorhanden ist.
kubectl logs deployment/tanzu-addons-controller-manager -n tkg-system Überprüfen Sie die tanzu-addons-manager-Protokolle im Verwaltungscluster.
kubectl get configmap -n tkg-system | grep ADD-ON-NAME-ctrl Überprüfen Sie, ob Ihre Updates auf den geheimen Schlüssel des Add-Ons angewendet wurden. Der Synchronisierungszeitraum beträgt 5 Minuten.

Anhalten der Lebenszyklusverwaltung für ein automatisch verwaltetes Paket

Wichtig

Mit den Befehlen in diesem Abschnitt wird die Lebenszyklusverwaltung des Pakets deaktiviert. Verwenden Sie nach Möglichkeit die im Folgenden unter Aktualisieren der Paketkonfiguration beschriebenen Verfahren.

Wenn Sie die Lebenszyklusverwaltung für ein automatisch verwaltetes Paket vorübergehend anhalten müssen, können Sie die folgenden Befehle verwenden:

  • Führen Sie den folgenden Befehl für den Verwaltungscluster aus, wenn der Abgleich des geheimen Schlüssels angehalten werden soll:

    kubectl patch secret/CLUSTER-NAME-ADD-ON-NAME-addon -n CLUSTER-NAMESPACE -p '{"metadata":{"annotations":{"tkg.tanzu.vmware.com/addon-paused": ""}}}' --type=merge
    

    Nach Ausführung dieses Befehls beendet tanzu-addons-manager die Abstimmung des geheimen Schlüssels.

  • Führen Sie den folgenden Befehl für den Zielcluster aus, wenn der Abgleich der PackageInstall-CR angehalten werden soll:

    kubectl patch packageinstall/PACKAGE-NAME -n tkg-system -p '{"spec":{"paused":true}}' --type=merge
    

    Nach Ausführung dieses Befehls beendet kapp-controller den Abgleich der PackageInstall- sowie der entsprechenden App-CR.

Wenn Sie die Ressourcen einer Add-On-Komponente vorübergehend ändern möchten, halten Sie zuerst den Abgleich des geheimen Schlüssels und dann den Abgleich der PackageInstall-CR an. Nach der Wiederaufnahme der Lebenszyklusverwaltung setzen tanzu-addons-manager und kapp-controller den Abgleich des geheimen Schlüssels und der PackageInstall-CR fort:

  • Entfernen Sie tkg.tanzu.vmware.com/addon-paused zum Fortsetzen des Abgleichs des geheimen Schlüssels aus den Anmerkungen des geheimen Schlüssels.

  • Zum Fortsetzen des Abgleichs der PackageInstall-CR aktualisieren Sie die PackageInstall-CR mit {"spec":{"paused":false}} oder entfernen Sie die Variable.

check-circle-line exclamation-circle-line close-line
Scroll to top icon