Cluster zu Anthos Service Mesh lokal hinzufügen

In dieser Anleitung wird beschrieben, wie Sie Anthos Service Mesh mit mehreren GKE on VMware einrichten. Sie können diesen Prozess problemlos erweitern, um eine beliebige Anzahl von Clustern in Ihr Mesh-Netzwerk einzubinden.

Eine Anthos Service Mesh-Konfiguration mit mehreren Clustern kann in mehreren wichtigen Unternehmensszenarien wie Skalierung, Standortwahl und Isolation eine Lösung sein. Weitere Informationen finden Sie unter Multi-Cluster-Anwendungsfälle. Darüber hinaus sollten Sie Ihre Anwendungen optimieren, um die Vorteile eines Service Mesh optimal zu nutzen. Weitere Informationen finden Sie unter Anwendung für Anthos Service Mesh vorbereiten.

Wenn Sie eine frühere Version von Anthos Service Mesh installiert haben, lesen Sie Anthos Service Mesh GKE auf VMware aktualisieren. Mit dieser Installation werden die unterstützten Funktionen auf Ihrem Cluster aktiviert.

Voraussetzungen

In dieser Anleitung davon ausgegangen, dass Sie neue oder vorhandene Cluster verwenden, die mit den Schritten unter Anthos Service Mesh lokal installieren erstellt wurden.

  • Die Anforderungen für diese Anleitung gelten zusätzlich zu den Anforderungen unter Anthos Service Mesh lokal installieren.

  • Auf den Clustern ist Anthos Service Mesh Version 1.8 oder höher installiert. Lesen Sie die Informationen unter Anthos Service Mesh lokal installieren, um Ihre Cluster in der erforderlichen Version zu installieren.

    gkectl version

    Wenn gkectl nicht installiert ist, finden Sie unter GKE On-Prem-Downloads weitere Informationen.

  • Alle Cluster werden in GKE On-Prem auf vSphere ausgeführt.

  • Sie benötigen das Konfigurationspaket, das zuvor verwendet wurde, um Anthos Service Mesh auf Ihrem Cluster zu installieren. Wenn Sie eine weitere Kopie benötigen, können Sie sie mit dem folgenden Befehl herunterladen:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.8-asm .

    Sie müssen keine Werte im Konfigurationspaket festlegen.

east-west-Gateway installieren

  1. Installieren Sie ein Gateway in cluster1 speziell für east-west traffic. Standardmäßig ist dieses Gateway im Internet öffentlich zugänglich. Für Produktionssysteme sind möglicherweise zusätzliche Zugriffseinschränkungen erforderlich, z. B. Firewallregeln, um externe Angriffe zu verhindern.

    asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster1 --network network1 --revision asm-186-8 | \
    istioctl --context="${CTX_CLUSTER1}" install -y -f -
    
  2. Installieren Sie in cluster2 ein Gateway für east-west-Traffic für cluster1.

    /asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster2 --network network2 | \
    istioctl --context="${CTX_CLUSTER2}" install -y -f -
    

Verfügbar machende Dienste

Da sich die Cluster in separaten Netzwerken befinden, müssen Sie alle Dienste (*.local) auf dem east-west-Gateway in beiden Clustern verfügbar machen. Während dieses Gateway öffentlich im Internet verfügbar ist, können Dienste nur mit Diensten mit einem vertrauenswürdigen mTLS-Zertifikat und einer Arbeitslast-ID aufgerufen werden, genauso wie sie sich im selben Netzwerk befinden.

  1. Machen Sie Dienste über das east-west-Gateway für cluster1 verfügbar.

    kubectl --context="${CTX_CLUSTER1}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    
  2. Machen Sie Dienste über das east-west-Gateway für cluster2 verfügbar.

    kubectl --context="${CTX_CLUSTER2}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    

Endpunkterkennung aktivieren

  1. Installieren Sie in cluster2 ein Remote-Secret, das Zugriff auf den API-Server von cluster1 ermöglicht.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER1}" \
    --name=cluster1 | \
    kubectl apply -f - --context="${CTX_CLUSTER2}"
    
  2. Installieren Sie in cluster1 ein Remote-Secret, das Zugriff auf den API-Server von cluster2 ermöglicht.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER2}" \
    --name=cluster2 | \
    kubectl apply -f - --context="${CTX_CLUSTER1}"
    

Nächste Schritte