Auf dieser Seite erhalten Sie eine Übersicht über die Funktionsweise von GKE-Multi-Cluster-Diensten (MCS). Informationen zur Verwendung von MCS finden Sie unter Multi-Cluster-Dienste konfigurieren.
MCS – Übersicht
Mit dem vertrauten Service-Objekt von Kubernetes können Sie einen Service innerhalb der Grenzen eines einzelnen Kubernetes-Clusters entdecken und aufrufen. Manchmal möchten Sie Anwendungen jedoch in mehrere Cluster aufteilen, um Anforderungen an die Statusverwaltung, Datenschutz, Skalierbarkeit, Verfügbarkeit und Datenhoheit zu erfüllen. Mit MCS können Sie Kubernetes-Anwendungen erstellen, die sich über mehrere Cluster erstrecken.
MCS ist ein clusterübergreifender Service- und Aufrufmechanismus für Google Kubernetes Engine (GKE), der das vorhandene Serviceobjekt nutzt. Mit diesem Feature aktivierte Dienste können clusterübergreifend mit einer virtuellen IP-Adresse gefunden und aufgerufen werden. Sie entsprechen dem Verhalten eines ClusterIP-Dienstes, auf den in einem Cluster zugegriffen werden kann. Wie Ihre vorhandenen Dienste ist MCS auch mit von der Community bestimmten und offenen APIs kompatibel, sodass Ihre Arbeitslasten portierbar bleiben.
MCS ist ein Feature von GKE. MCS konfiguriert Cloud DNS-Zonen und -Einträge für jeden exportierten Dienst in Ihren Flottenclustern. Mit einer Flotte können Sie GKE-Cluster logisch gruppieren und normalisieren, um die Verwaltung der Infrastruktur zu vereinfachen und die Verwendung von Multi-Cluster-Features wie MCS zu ermöglichen. Weitere Informationen zu den Vorteilen von Flotten und deren Erstellung finden Sie in der Dokumentation zur Flottenverwaltung.
Exportierte Dienste haben unabhängig vom Typ immer einen Cloud DNS-Eintrag und exportierte monitorlose Dienste haben Einträge für jeden Backend-Pod mit einem Hostnamen, einschließlich Pods in StatefulSets.
Die Verwendung von Cloud DNS verursacht zusätzliche Kosten. Die Abrechnung erfolgt gemäß den Cloud DNS-Preisen.
Erstellen Sie zum Exportieren eines Service mit MCS eine benutzerdefinierte ServiceExport-Ressource mit demselben Namespace und Namen wie der Service. MCS importiert den Service automatisch in jeden Cluster in der Flotte. Wenn MCS einen Service importiert, wird Folgendes erstellt:
Eine benutzerdefinierte ServiceImport-Ressource, die denselben Namespace und denselben Namen wie der Service verwendet.
Ein Endpoints-Objekt, das denselben Namespace wie der Service und einen zufälligen Namen verwendet.
Vorteile von MCS
Die Verwendung von MCS bietet folgende Vorteile:
Hochverfügbarkeit: Wenn Sie denselben Service in Clustern in mehreren Regionen ausführen, erhalten Sie eine verbesserte Fehlertoleranz. Wenn ein Dienst in einem Cluster nicht verfügbar ist, kann für die Anfrage ein Failover durchgeführt und von anderen Clustern bereitgestellt werden. Mit MCS kann die Kommunikation zwischen Diensten clusterübergreifend verwaltet werden, um die Verfügbarkeit Ihrer containerisierten Anwendungen zu verbessern.
Zustandsorientierte und zustandslose Dienste: Zustandsorientierte und zustandslose Dienste haben unterschiedliche Betriebsabhängigkeiten und -komplexitäten und bieten unterschiedliche betriebliche Kompromisse. Ohne Zustandsverwaltung ist es in der Regel einfacher, eine Arbeitslast mit hoher Verfügbarkeit zu skalieren, zu aktualisieren und zu migrieren. Mit MCS können Sie Cluster für zustandsorientierte und zustandslose Arbeitslasten trennen, damit sie voneinander unabhängig, isoliert und einfacher zu verwalten sind.
Gemeinsam genutzte Dienste: Es ist üblich, separate Kubernetes-Cluster zu erstellen, um eine höhere Verfügbarkeit, eine bessere Verwaltung zustandsorientierter und zustandsloser Dienste und eine einfachere Einhaltung von Anforderungen zur Datenhoheit zu ermöglichen. Viele Dienste wie das Monitoring mit Prometheus oder die Verwaltung von Secrets mit Vault werden jedoch häufig von allen Clustern gemeinsam genutzt. Anstatt dass jeder Cluster ein eigenes lokales Service-Replikat benötigt, erleichtert MCS das Einrichten gängiger gemeinsamer Services in einem separaten Cluster, den alle Funktionscluster verwenden.
Migration: Wenn Sie eine vorhandene Anwendung in eine containerisierte, auf Mikrodiensten basierende Architektur modernisieren möchten, müssen Sie häufig Dienste in mehreren Kubernetes-Clustern bereitstellen. MCS bietet einen Mechanismus, um die Kommunikation zwischen diesen Diensten zu ermöglichen und die Migration Ihrer Anwendungen zu vereinfachen. Dies ist besonders hilfreich, da Sie denselben Dienst für zwei verschiedene Cluster bereitstellen können und der Traffic zwischen zwei Clustern oder Anwendungen übertragen werden kann.
Nächste Schritte
Hier finden Sie weitere Informationen zu Multi-Cluster-Ingress, das Dienste für Nord-Süd- und Ost-West-Traffic bereitstellt.
Hier finden Sie weitere Informationen zu Cloud Service Mesh, das Ihnen eine genauere Kontrolle über Routing und Trafficmuster bietet.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-05-01 (UTC)."],[],[],null,["# Multi-cluster Services\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThis page provides you with an overview of how GKE multi-cluster\nServices (MCS) works. To learn how to use MCS, see\n[Configuring multi-cluster Services](/kubernetes-engine/docs/how-to/multi-cluster-services).\n\nOverview of MCS\n---------------\n\nKubernetes' familiar [Service](/kubernetes-engine/docs/concepts/service)\nobject lets you discover and access a Service within the\nconfines of a single Kubernetes cluster. However, sometimes you might want to\nsplit applications into multiple clusters, to address state management, privacy,\nscalability, availability, and data sovereignty requirements. With MCS, you can\nbuild Kubernetes applications that span multiple clusters.\n\nMCS is a cross-cluster Service discovery and invocation\nmechanism for Google Kubernetes Engine (GKE) that leverages the existing Service\nobject. Services enabled with this feature are discoverable and accessible\nacross clusters with a virtual IP, matching the behavior of a\n[ClusterIP Service](/kubernetes-engine/docs/concepts/service#services_of_type_clusterip)\naccessible in a cluster. Just like your existing Services, MCS is\ncompatible with community-driven and open APIs, ensuring your workloads remain\nportable.\n\nMCS is a feature of GKE. MCS configures Cloud DNS zones and\nrecords for each exported Service in your [fleet clusters](/kubernetes-engine/fleet-management/docs). A fleet lets you logically group and normalize your GKE clusters, making administration of infrastructure easier and enabling the use of multi-cluster features such as MCS. You can learn more about the benefits of fleets and how to create them in the [fleet management documentation](/kubernetes-engine/fleet-management/docs).\n\nExported Services regardless of type always have one Cloud DNS record, and exported Headless type services have records for each backend Pod with a hostname, including Pods in StatefulSets.\nUsing Cloud DNS incurs additional charges. You are billed according to\n[Cloud DNS pricing](https://cloud.google.com/dns/pricing).\n\nTo export a Service with MCS, create a ServiceExport custom resource using the same\nnamespace and name as the Service. MCS automatically imports the Service to each\ncluster in the fleet. When MCS imports a Service, it creates:\n\n- A ServiceImport custom resource using the same namespace and name as the Service.\n- An Endpoints object using the same namespace as the Service and a random name.\n\nBenefits of using MCS\n---------------------\n\nUsing MCS provides you with the following benefits:\n\n- **High availability**: Running the same Service across clusters in multiple regions provides you with improved fault tolerance. If a Service in a cluster is unavailable, the request can fail over and be served from other clusters. With MCS, it's possible to manage the communication between Services across clusters, to improve the availability of your containerized applications.\n- **Stateful and stateless Services**: Stateful and stateless Services have different operational dependencies and complexities and present different operational tradeoffs. Typically, the absence of state management makes it easier to scale, upgrade, and migrate a workload with higher availability. MCS lets you separate clusters for stateful and stateless workloads and make them independent, isolated, and easier to manage.\n- **Shared Services** : It's common to create separate Kubernetes clusters to get higher availability, better management of stateful and stateless Services, and easier compliance with data sovereignty requirements. However, many Services such as [monitoring with Prometheus](/stackdriver/docs/managed-prometheus) or [using secrets management with Vault](https://www.cloudskillsboost.google/focuses/1210?parent=catalog) are often shared among all clusters. Instead of each cluster requiring its own local Service replica, MCS makes it easier to set up common shared Services in a separate cluster that all functional clusters use.\n- **Migration**: Modernizing an existing application into a containerized microservice-based architecture often requires you to deploy Services across multiple Kubernetes clusters. MCS provides you with a mechanism to help bridge the communication between those Services, making it easier to migrate your applications. This is especially helpful as you can deploy the same Service to two different clusters and traffic is allowed to shift from one cluster or application to another.\n\nWhat's next\n-----------\n\n- Learn more about [Multi Cluster Ingress](/kubernetes-engine/docs/concepts/multi-cluster-ingress), which provides Services for north-south and east-west traffic directions.\n- Learn more about [Cloud Service Mesh](/anthos/service-mesh), which provides you with finer-grained control over routing and traffic shaping."]]