In dieser Anleitung wird beschrieben, wie Sie Anthos Service Mesh mit mehreren GKE on VMware und Bare Metal einrichten. Sie können diesen Prozess 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.
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.
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.9-asm asm
east-west-Gateway installieren
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-198-6 | \ istioctl --context="${CTX_CLUSTER1}" install -y -f -
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.
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
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
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}"
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}"