Sie können den Tanzu Kubernetes Grid-Dienst mit globalen Einstellungen für wichtige Funktionen anpassen, einschließlich der CNI (Container Network Interface, Container-Netzwerkschnittstelle), des Proxyservers und der TLS-Zertifikate. Berücksichtigen Sie mögliche Kompromisse und andere Überlegungen bei der Implementierung von globaler gegenüber Pro-Cluster-Funktionalität.

Optional können Sie den Tanzu Kubernetes Grid-Dienst mit globalen Parametern konfigurieren.

Vorsicht: Das Konfigurieren des Tanzu Kubernetes Grid-Dienst ist ein globaler Vorgang. Dies bedeutet, dass alle Änderungen, die Sie an der TkgServiceConfiguration-Spezifikation vornehmen, für alle Tanzu Kubernetes Cluster gelten, die von diesem Dienst bereitgestellt werden. Wenn ein rollierendes Update entweder manuell oder durch ein Upgrade initiiert wird, werden Cluster durch die geänderte Dienstspezifikation aktualisiert.

TkgServiceConfiguration-Spezifikation

Die TkgServiceConfiguration-Spezifikation enthält Felder für die Konfiguration der Tanzu Kubernetes Grid-Dienst-Instanz.
apiVersion: run.tanzu.vmware.com/v1alpha1
kind: TkgServiceConfiguration
metadata:
  name: tkg-service-configuration-example
spec:
  defaultCNI: <antrea or calico>
  proxy:
    httpProxy: http://<user>:<pwd>@<ip>:<port>
    httpsProxy: http://<user>:<pwd>@<ip>:<port>
    noProxy: [<array of CIDRs to not proxy>]
  trust:
    additionalTrustedCAs:
      - name: <first-cert-name>
        data: <base64-encoded string of a PEM encoded public cert 1>
      - name: <second-cert-name>
        data: <base64-encoded string of a PEM encoded public cert 2>

TkgServiceConfiguration-Spezifikationsparameter

In der Tabelle sind alle TkgServiceConfiguration-Spezifikationsparameter aufgeführt und beschrieben. Beispiele finden Sie unter Beispiele für die Konfiguration der Tanzu Kubernetes Grid-Dienst-v1alpha1-API.
Feld Wert Beschreibung
defaultCNI antrea or calico Standard-CNI für zu verwendende Cluster. Die Standardeinstellung ist antrea. Die andere unterstützte CNI ist calico.
proxy Abschnittsmarkierung für proxy-Parameter. Die proxy Parameter sind httpProxy, httpsProxy und noProxy. Alle Parameter sind erforderlich. Wenn ein proxy-Parameter fehlt, können Sie keine Tanzu Kubernetes-Cluster erstellen.
httpProxy URI im Formular http://<user>:<pwd>@<ip>:<port> Lässt das https-Protokoll nicht zu. Wenn https verwendet wird, können Sie keine Tanzu Kubernetes-Cluster erstellen.
httpsProxy URI im Formular http://<user>:<pwd>@<ip>:<port> Lässt das https-Protokoll nicht zu. Wenn https verwendet wird, können Sie keine Tanzu Kubernetes-Cluster erstellen.
noProxy

Array von CIDR-Blöcken ohne Proxy, z. B.: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20].

Erhalten Sie die erforderlichen Werte aus dem Arbeitslastnetzwerk im Supervisor-Cluster: Pod CIDRs, Ingress CIDRs und Egress CIDRs.

In der Abbildung unten finden Sie Informationen darüber, welche Werte im Array-Feld noProxy enthalten sein sollen.

Sie dürfen die Subnetze, die vom Arbeitslastnetzwerk im Supervisor-Cluster für Pods, Ingress und Egress verwendet werden, nicht über einen Proxy weiterleiten.

Es ist nicht erforderlich, dass Sie die Dienst-CIDR vom Supervisor-Cluster in das Feld noProxy eingeben. Tanzu Kubernetes-Cluster interagieren nicht mit solchen Diensten.

Die Endpoints localhost und 127.0.0.1 werden automatisch nicht über einen Proxy weitergeleitet. Sie müssen sie nicht zum Feld noProxy hinzufügen.

Die Pod- und Dienst-CIDRs für Tanzu Kubernetes-Cluster werden automatisch nicht über einen Proxy weitergeleitet. Sie müssen sie nicht zum Feld noProxy hinzufügen.

trust Abschnittsmarkierung für trust-Parameter. Akzeptiert keine Daten.
additionalTrustedCAs Akzeptiert ein Array von Zertifikaten mit name und data für jedes Zertifikat. Akzeptiert keine Daten.
name String Name des TLS-Zertifikats
data String Die Base64-codierte Zeichenfolge eines PEM-codierten öffentlichen Zertifikats.

Rufen Sie die erforderlichen noProxy-Werte aus dem Arbeitslastnetzwerk wie im Supervisor-Cluster dargestellt ab.

Das Fenster „Arbeitslastnetzwerk“ mit den hervorgehobenen Werten für „Pod-CIDRs“, „Ingress-CIDRs“ und „Egress-CIDRs“.

Wann globale oder clusterspezifische Konfigurationsoptionen verwendet werden sollten

Die TkgServiceConfiguration ist eine globale Spezifikation, die sich auf alle Tanzu Kubernetes-Cluster auswirkt, die von der Tanzu Kubernetes Grid-Dienst-Instanz bereitgestellt werden.

Bevor Sie die TkgServiceConfiguration-Spezifikation bearbeiten, sollten Sie sich über die Pro-Cluster-Alternativen informieren, die anstelle einer globalen Konfiguration für Ihren Anwendungsfall geeignet sein könnten.
Tabelle 1. Globale Konfigurationsoptionen im Vergleich zu Pro-Cluster-Konfigurationsoptionen
Einstellung Globale Option Pro-Cluster-Option
Standard-CNI Bearbeiten Sie die TkgServiceConfiguration-Spezifikation. Weitere Informationen finden Sie unter Beispiele für die Konfiguration der Tanzu Kubernetes Grid-Dienst-v1alpha1-API. Geben Sie die CNI in der Clusterspezifikation an. Beispiel: Antrea ist die Standard-CNI. Um Calico zu verwenden, geben Sie die Spezifikation in der Cluster-YAML an. Siehe Beispiele für die Bereitstellung von Tanzu Kubernetes-Clustern mit der Tanzu Kubernetes Grid-Dienst-v1alpha1-API.
Proxyserver Bearbeiten Sie die TkgServiceConfiguration-Spezifikation. Weitere Informationen finden Sie unter Beispiele für die Konfiguration der Tanzu Kubernetes Grid-Dienst-v1alpha1-API. Schließen Sie die Konfigurationsparameter des Proxyservers in die Clusterspezifikation ein. Weitere Informationen finden Sie unter Beispiele für die Bereitstellung von Tanzu Kubernetes-Clustern mit der Tanzu Kubernetes Grid-Dienst-v1alpha1-API.
Vertrauenszertifikate Bearbeiten Sie die TkgServiceConfiguration-Spezifikation. Es gibt zwei Anwendungsfälle: die Konfiguration einer externen Container-Registrierung und die zertifikatsbasierte Proxy-Konfiguration. Siehe Beispiele für die Konfiguration der Tanzu Kubernetes Grid-Dienst-v1alpha1-API. Ja, Sie können clusterspezifische benutzerdefinierte Zertifikate hinzufügen oder die global festgelegten trust-Einstellungen in der Clusterspezifikation überschreiben. Weitere Informationen finden Sie unter Beispiele für die Bereitstellung von Tanzu Kubernetes-Clustern mit der Tanzu Kubernetes Grid-Dienst-v1alpha1-API.
Hinweis: Wenn ein globaler Proxy für die TkgServiceConfiguration konfiguriert ist, werden diese Proxy-Informationen nach der ersten Bereitstellung des Clusters an das Clustermanifest weitergegeben. Die globale Proxy-Konfiguration wird nur dann zum Clustermanifest hinzugefügt, wenn beim Erstellen des Clusters keine Proxy-Konfigurationsfelder vorhanden sind. Anders ausgedrückt: Die Konfiguration pro Cluster hat Vorrang und überschreibt eine globale Proxy-Konfiguration. Weitere Informationen finden Sie unter Konfigurationsparameter für die Tanzu Kubernetes Grid-Dienst-v1alpha1-API.

Bevor Sie die TkgServiceConfiguration-Spezifikation bearbeiten, machen Sie sich mit den Auswirkungen der Anwendung der Einstellung auf globaler Ebene vertraut.

Feld Angewendet Auswirkungen auf vorhandene Cluster, wenn hinzugefügt/geändert Außerkraftsetzung pro Cluster bei Clustererstellung Außerkraftsetzung pro Cluster bei Clusteraktualisierung
defaultCNI Global Keine Ja, Sie können die globale Einstellung bei der Clustererstellung außer Kraft setzen. Nein, Sie können den CNI für einen vorhandenen Cluster nicht ändern. Wenn Sie den global festgelegten Standard-CNI bei der Clustererstellung verwendet haben, kann er nicht geändert werden.
proxy Global Keine Ja, Sie können die globale Einstellung bei der Clustererstellung außer Kraft setzen. Ja, mit U2+ können Sie die globale Einstellung bei der Clusteraktualisierung außer Kraft setzen
trust Global Keine Ja, Sie können die globale Einstellung bei der Clustererstellung außer Kraft setzen. Ja, mit U2+ können Sie die globale Einstellung bei der Clusteraktualisierung außer Kraft setzen

Propagieren von globalen Konfigurationsänderungen an vorhandenen Clustern

Wenn in der TkgServiceConfiguration globale Einstellungen vorgenommen werden, werden diese nicht automatisch an die vorhandenen Cluster weitergegeben. Wenn Sie beispielsweise Änderungen an den proxy- oder trust-Einstellungen in der TkgServiceConfiguration vornehmen, wirken sich diese Änderungen nicht auf bereits bereitgestellte Cluster aus.

Um eine globale Änderung an einen vorhandenen Cluster weiterzugeben, müssen Sie den Tanzu Kubernetes-Cluster patchen, damit der Cluster die an der TkgServiceConfiguration vorgenommenen Änderungen übernimmt.

Beispiel:
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"proxy\": null}}}}"
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"trust\": null}}}}"