{"id":34825,"date":"2019-10-31T22:00:35","date_gmt":"2019-10-31T19:00:35","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah\/"},"modified":"2019-10-31T22:00:35","modified_gmt":"2019-10-31T19:00:35","slug":"kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah","title":{"rendered":"So verbinden Sie Kubernetes-Cluster in verschiedenen Rechenzentren","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"So verbinden Sie Kubernetes-Cluster in verschiedenen Rechenzentren\" src=\"\/wp-content\/uploads\/2019\/06\/fa408b406e31840857bbbe13e1d7ee5a.JPG\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<strong>Willkommen zu unserer Reihe von Kurzleitf\u00e4den zu Kubernetes.<\/strong> Das ist eine regelm\u00e4\u00dfige Kolumne mit den interessantesten Fragen, die wir online und in unseren Schulungen erhalten. Beantwortet von einem Kubernetes-Experten.<\/p>\n<p><\/p>\n<blockquote><p>Der heutige Experte ist Daniele Polencic (<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/danielepolencic\">Daniele Polencic<\/a><\/noindex>). Daniele ist Ausbilder und Softwareentwickler bei <noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/\">Learnk8s<\/a><\/noindex>.<\/p><\/blockquote>\n<p>Wenn Sie eine Antwort auf Ihre Frage im n\u00e4chsten Beitrag erhalten m\u00f6chten, <noindex><a rel=\"nofollow\" href=\"http:\/\/hello@learnk8s.io\">kontaktieren Sie uns per E-Mail<\/a><\/noindex> oder \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/learnk8s\">bei Twitter: @learnk8s<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Haben Sie die vorherigen Beitr\u00e4ge verpasst? <noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/visualise-dependencies-kubernetes\">Sie finden sie hier<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"kak-soedinit-klastery-kubernetes-v-raznyh-data-centrah\">Wie verbindet man Kubernetes-Cluster in verschiedenen Rechenzentren?<\/h3>\n<p><\/p>\n<blockquote><p><strong>Zusammenfassung<\/strong>: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/federation-v2\">Bald kommt Kubefed v2 heraus,<\/a><\/noindex>ich empfehle auch, \u00fcber das <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bookingcom\/shipper\">Shipper<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/admiraltyio\/multicluster-scheduler\">Projekt multi-cluster-scheduler zu lesen.<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Infrastrukturen werden h\u00e4ufig repliziert und auf verschiedene Regionen verteilt, insbesondere in kontrollierten Umgebungen.<\/p><\/blockquote>\n<p><strong>Wenn eine Region nicht verf\u00fcgbar ist, wird der Datenverkehr umgeleitet, um Unterbrechungen zu vermeiden.<\/strong><\/p>\n<p><\/p>\n<p>Mit Kubernetes kann eine \u00e4hnliche Strategie angewendet werden, um Arbeitslasten \u00fcber verschiedene Regionen zu verteilen.<\/p>\n<p><\/p>\n<p>Sie k\u00f6nnen ein oder mehrere Cluster pro Team, Region, Umgebung oder eine Kombination dieser Elemente haben.<\/p>\n<p><\/p>\n<p>Ihre Cluster k\u00f6nnen in verschiedenen Clouds und in lokalen Umgebungen gehostet werden.<\/p>\n<p><\/p>\n<p><em>Wie plant man die Infrastruktur f\u00fcr eine so gro\u00dfe geografische Streuung?<br \/>\nSoll man einen gro\u00dfen Cluster \u00fcber mehrere Cloud-Umgebungen in einem gemeinsamen Netzwerk erstellen?<br \/>\nOder mehrere kleine Cluster einrichten und einen Weg finden, diese zu steuern und zu synchronisieren?<\/em><\/p>\n<p><\/p>\n<h3 id=\"odin-rukovodyaschiy-klaster\">Ein \u00fcbergeordneter Cluster<\/h3>\n<p><\/p>\n<p><em>Einen Cluster in einem einheitlichen Netzwerk zu erstellen, ist nicht so einfach.<\/em><\/p>\n<p><\/p>\n<p>Stellen Sie sich vor, Sie haben einen Ausfall und die Verbindung zwischen den Clustern wird getrennt.<\/p>\n<p><\/p>\n<p>Wenn Sie nur einen Master-Server haben, k\u00f6nnen die H\u00e4lfte der Ressourcen keine neuen Befehle empfangen, da sie nicht mit dem Master kommunizieren k\u00f6nnen.<\/p>\n<p><\/p>\n<p>Und dabei haben Sie alte Routing-Tabellen (<code>kube-proxy<\/code> k\u00f6nnen keine neuen laden) und keine zus\u00e4tzlichen Pods (kubelet kann keine Aktualisierungen anfordern).<\/p>\n<p><\/p>\n<p>Noch schlimmer ist, dass Kubernetes einen Knoten als verloren markiert, wenn er ihn nicht sieht, und die fehlenden Pods auf die vorhandenen Knoten verteilt.<\/p>\n<p><\/p>\n<p><strong>Am Ende haben Sie doppelt so viele Pods.<\/strong><\/p>\n<p><\/p>\n<p>Wenn Sie f\u00fcr jede Region einen Master-Server einrichten, gibt es Probleme mit dem Konsensalgorithmus in der etcd-Datenbank.<em>Hinweis der Redaktion \u2014 Die etcd-Datenbank muss nicht unbedingt auf Master-Servern gehostet werden. Sie kann auf einer separaten Gruppe von Servern innerhalb einer Region betrieben werden. Allerdings f\u00fchrt dies zu einem Single Point of Failure im Cluster. Daf\u00fcr ist es schnell.<\/em>)<\/p>\n<p><\/p>\n<p>etcd verwendet <noindex><a rel=\"nofollow\" href=\"http:\/\/thesecretlivesofdata.com\/raft\/\">den Raft-Algorithmus<\/a><\/noindex>, um den Wert zu konsensieren, bevor er auf der Festplatte geschrieben wird.<br \/>\nDas bedeutet, dass die Mehrheit der Instanzen einen Konsens erreichen muss, bevor der Zustand in etcd geschrieben werden kann.<\/p>\n<p><\/p>\n<p>Wenn die Latenz zwischen den etcd-Instanzen stark ansteigt, wie bei drei Instanzen in verschiedenen Regionen, dauert es lange, um den Wert zu konsensieren und auf der Festplatte zu speichern.<br \/>\nDies wirkt sich auch auf die Kubernetes-Controller aus.<\/p>\n<p><\/p>\n<p>Der Controller-Manager ben\u00f6tigt mehr Zeit, um von der \u00c4nderung zu erfahren und die Antwort in die Datenbank zu schreiben.<\/p>\n<p><\/p>\n<p>Da es nicht nur einen, sondern mehrere Controller gibt, <strong>entsteht eine Kettenreaktion, und der gesamte Cluster beginnt sehr langsam zu arbeiten.<\/strong>.<\/p>\n<p><\/p>\n<p>etcd ist so empfindlich gegen\u00fcber Latenz, dass <noindex><a rel=\"nofollow\" href=\"https:\/\/coreos.com\/etcd\/docs\/latest\/faq.html#deployment\">in der offiziellen Dokumentation empfohlen wird, SSDs anstelle von herk\u00f6mmlichen Festplatten zu verwenden.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Momentan gibt es keine guten Beispiele f\u00fcr ein gro\u00dfes Netzwerk innerhalb eines Clusters.<\/strong><\/p>\n<p><\/p>\n<p>Im Wesentlichen versucht die Entwicklergemeinschaft sowie die SIG-cluster-Gruppe zu verstehen, wie Cluster \u00e4hnlich wie Kubernetes Container orchestrieren k\u00f6nnen.<\/p>\n<p><\/p>\n<h3 id=\"variant-1-federaciya-klasterov-s-kubefed\">Option 1: Cluster-F\u00f6deration mit kubefed<\/h3>\n<p><\/p>\n<p>Offizielle Antwort von SIG-cluster \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/federation-v2\">kubefed2, die neue Version des urspr\u00fcnglichen Clients und Operators f\u00fcr die kube-F\u00f6deration<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Erstmals versuchte man, eine Sammlung von Clustern als ein einziges Objekt zu verwalten, mithilfe des Tools kube-F\u00f6deration.<\/p>\n<p><\/p>\n<p>Der Anfang war vielversprechend, jedoch wurde kube-F\u00f6deration letztlich nicht popul\u00e4r, da nicht alle Ressourcen unterst\u00fctzt wurden.<\/p>\n<p><\/p>\n<p>Es unterst\u00fctzte zusammengef\u00fchrte Bereitstellungen und Dienste, jedoch keine StatefulSets.<br \/>\nAu\u00dferdem wurde die F\u00f6derationskonfiguration in Form von Annotationen \u00fcbergeben, die nicht besonders flexibel war.<\/p>\n<p><\/p>\n<p><em>Stellen Sie sich vor, wie man die Replikateinteilung f\u00fcr jede Cluster in der F\u00f6deration nur mit Hilfe von Annotationen beschreiben kann.<\/em><\/p>\n<p><\/p>\n<p><strong>Das f\u00fchrte zu einem vollst\u00e4ndigen Durcheinander.<\/strong><\/p>\n<p><\/p>\n<p>Die SIG-cluster-Gruppe hat nach kubefed v1 viel Arbeit geleistet und sich entschieden, das Problem von einer anderen Seite anzugehen.<\/p>\n<p><\/p>\n<p><strong>Statt Annotationen haben sie beschlossen, einen Controller zu ver\u00f6ffentlichen, der auf den Clustern installiert wird und mithilfe von Custom Resource Definitions (CRD) konfiguriert werden kann.<\/strong><\/p>\n<p><\/p>\n<p>F\u00fcr jede Ressource, die in die F\u00f6deration aufgenommen wird, haben Sie eine benutzerdefinierte CRD, die aus drei Abschnitten besteht:<\/p>\n<p><\/p>\n<ul>\n<li>eine Standardressourcendefinition, zum Beispiel ein Deployment;<\/li>\n<li>Abschnitt <code>placement<\/code>, in dem Sie definieren, wie die Ressource in der F\u00f6deration verteilt wird;<\/li>\n<li>Abschnitt <code>override<\/code>, in dem die Gewichte und Parameter aus dem Placement f\u00fcr eine bestimmte Ressource \u00fcberschrieben werden k\u00f6nnen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Hier ist ein Beispiel f\u00fcr ein konsolidiertes Deployment mit den Abschnitten Placement und Override.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: types.federation.k8s.io\/v1alpha1\nkind: FederatedDeployment\nmetadata:\n  name: test-deployment\n  namespace: test-namespace\nspec:\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      replicas: 3\n      selector:\n        matchLabels:\n          app: nginx\n      template:\n        metadata:\n          labels:\n            app: nginx\n        spec:\n          containers:\n            - image: nginx\n              name: nginx\n  placement:\n    clusterNames:\n      - cluster2\n      - cluster1\n  overrides:\n    - clusterName: cluster2\n      clusterOverrides:\n        - path: spec.replicas\n          value: 5<\/code><\/pre>\n<p><\/p>\n<p>Wie Sie sehen, wird das Deployment auf zwei Cluster verteilt: <code>cluster1<\/code> und <code>cluster2<\/code>.<\/p>\n<p><\/p>\n<p>Der erste Cluster stellt drei Repliken zur Verf\u00fcgung, w\u00e4hrend der zweite den Wert 5 angibt.<\/p>\n<p><\/p>\n<p>Wenn Sie mehr Kontrolle \u00fcber die Anzahl der Repliken ben\u00f6tigen, bietet kubefed2 ein neues Objekt ReplicaSchedulingPreference, mit dem Repliken gewichtet verteilt werden k\u00f6nnen:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: scheduling.federation.k8s.io\/v1alpha1\nkind: ReplicaSchedulingPreference\nmetadata:\n  name: test-deployment\n  namespace: test-ns\nspec:\n  targetKind: FederatedDeployment\n  totalReplicas: 9\n  clusters:\n    A:\n      weight: 1\n    B:\n      weight: 2<\/code><\/pre>\n<p><\/p>\n<p>Die Struktur von CRD und API ist noch nicht ganz fertig, und im offiziellen Projekt-Repository wird aktiv daran gearbeitet.<\/p>\n<p><\/p>\n<p><strong>Behalten Sie kubefed2 im Auge, aber beachten Sie, dass es derzeit nicht f\u00fcr Produktionsumgebungen geeignet ist.<\/strong><\/p>\n<p><\/p>\n<p>Erfahren Sie mehr \u00fcber kubefed2 aus <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2018\/12\/12\/kubernetes-federation-evolution\/\">dem offiziellen Artikel \u00fcber kubefed2<\/a><\/noindex> in dem Kubernetes-Blog und im <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/federation-v2\">offiziellen Repository des kubefed-Projekts.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"variant-2-obedinenie-klasterov-v-stile-bookingcom\">Option 2: Cluster-Konsolidierung im Stil von Booking.com<\/h3>\n<p><\/p>\n<p>Die Entwickler von Booking.com haben sich nicht mit kubefed v2 besch\u00e4ftigt, haben jedoch Shipper entwickelt \u2013 einen Operator f\u00fcr Multi-Cluster-Bereitstellungen in mehreren Regionen und Clouds.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bookingcom\/shipper\">Shipper<\/a><\/noindex> \u00c4hnlich wie kubefed2.<\/p>\n<p><\/p>\n<p>Beide Tools erm\u00f6glichen die Konfiguration der Bereitstellungsstrategie \u00fcber mehrere Cluster (welche Cluster verwendet werden und wie viele Replikate sie haben).<\/p>\n<p><\/p>\n<p>Aber <strong>Die Aufgabe von Shipper ist es, das Risiko von Fehlern bei der Bereitstellung zu minimieren.<\/strong><\/p>\n<p><\/p>\n<p>In Shipper k\u00f6nnen Sie eine Reihe von Schritten definieren, die beschreiben, wie die Replikate zwischen dem vorherigen und aktuellen Deployment sowie dem Volumen des eingehenden Traffics aufgeteilt werden.<\/p>\n<p><\/p>\n<p>Wenn Sie eine Ressource in einen Cluster senden, implementiert der Shipper-Controller schrittweise diese \u00c4nderung in allen zusammengefassten Clustern.<\/p>\n<p><\/p>\n<p><em>Au\u00dferdem ist Shipper sehr begrenzt.<\/em><\/p>\n<p><\/p>\n<p>Zum Beispiel <strong>Es akzeptiert Helm-Charts als Eingabedaten.<\/strong> und unterst\u00fctzt keine Vanilla-Ressourcen.<br \/>\nIm Gro\u00dfen und Ganzen funktioniert Shipper folgenderma\u00dfen.<\/p>\n<p><\/p>\n<p>Anstelle der Standardbereitstellung muss eine Anwendungsressource erstellt werden, die ein Helm-Chart enth\u00e4lt:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: shipper.booking.com\/v1alpha1\nkind: Application\nmetadata:\n  name: super-server\nspec:\n  revisionHistoryLimit: 3\n  template:\n    chart:\n      name: nginx\n      repoUrl: https:\/\/storage.googleapis.com\/shipper-demo\n      version: 0.0.1\n    clusterRequirements:\n      regions:\n        - name: local\n    strategy:\n      steps:\n        - capacity:\n            contender: 1\n            incumbent: 100\n          name: staging\n          traffic:\n            contender: 0\n            incumbent: 100\n        - capacity:\n            contender: 100\n            incumbent: 0\n          name: full on\n          traffic:\n            contender: 100\n            incumbent: 0\n    values:\n      replicaCount: 3<\/code><\/pre>\n<p><\/p>\n<p><strong>Shipper ist eine gute L\u00f6sung f\u00fcr das Management mehrerer Cluster, doch die enge Verkn\u00fcpfung mit Helm ist hinderlich.<\/strong><\/p>\n<p><\/p>\n<p><em>Vielleicht wechseln wir alle von Helm zu <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2018\/05\/29\/introducing-kustomize-template-free-configuration-customization-for-kubernetes\/\">kustomize<\/a><\/noindex> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deepmind\/kapitan\">kapitan<\/a><\/noindex>?<\/em><\/p>\n<p><\/p>\n<p>Erfahren Sie mehr \u00fcber Shipper und seine Philosophie in <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/booking-com-infrastructure\/introducing-shipper-daf9244e3882\">dieser offiziellen Pressemitteilung.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Wenn Sie den Code durchst\u00f6bern m\u00f6chten, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bookingcom\/shipper\">besuchen Sie das offizielle Repository des Projekts.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"variant-3-magicheskoe-obedinenie-klasterov\">Option 3: &#171;magical&#187; cluster merging<\/h3>\n<p><\/p>\n<p>Kubefed v2 und Shipper arbeiten mit der F\u00f6deration von Clustern zusammen und stellen neuen Ressourcen \u00fcber benutzerdefinierte Ressourcen bereit.<\/p>\n<p><\/p>\n<p><em>Aber was, wenn Sie nicht alle Deployments, StatefulSets, DaemonSets usw. f\u00fcr die Federation neu schreiben m\u00f6chten?<\/em><\/p>\n<p><\/p>\n<p><em>Wie integrieren Sie ein bestehendes Cluster in die Federation, ohne YAML zu \u00e4ndern?<\/em><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/admiraltyio\/multicluster-scheduler\">multi-cluster-scheduler ist ein Projekt von Admirality<\/a><\/noindex>, das sich mit Workloads in Clustern besch\u00e4ftigt.<\/p>\n<p><\/p>\n<p>Anstatt jedoch einen neuen Weg zur Interaktion mit dem Cluster zu finden und Ressourcen in benutzerdefinierte Definitionen zu kapseln, integriert sich der multi-cluster-scheduler in den standardm\u00e4\u00dfigen Lebenszyklus von Kubernetes und f\u00e4ngt alle Aufrufe ab, die Pods erzeugen.<\/p>\n<p><\/p>\n<p><strong>Jeder erzeugte Pod wird sofort durch einen Platzhalter ersetzt.<\/strong><\/p>\n<p><\/p>\n<blockquote><p>multi-cluster-scheduler verwendet <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/extensible-admission-controllers\/\">Webhooks zur Modifikation des Zugriffs<\/a><\/noindex>, um den Aufruf abzufangen und einen inaktiven Pod-Platzhalter zu erstellen.<\/p><\/blockquote>\n<p>Der urspr\u00fcngliche Pod durchl\u00e4uft einen weiteren Planungszyklus, in dem nach der Abfrage der gesamten Federation eine Entscheidung \u00fcber den Standort getroffen wird.<\/p>\n<p><\/p>\n<p>Schlie\u00dflich wird der Pod in das Ziel-Cluster geliefert.<\/p>\n<p><\/p>\n<p>Am Ende haben Sie einen zus\u00e4tzlichen Pod, der nichts tut, sondern nur Platz einnimmt.<\/p>\n<p><\/p>\n<p>Der Vorteil ist, dass Sie keine neuen Ressourcen f\u00fcr die Federation schreiben mussten.<\/p>\n<p><\/p>\n<p><strong>Jede Ressource, die einen Pod erzeugt, ist bereits automatisch f\u00fcr die Federation bereit.<\/strong><\/p>\n<p><\/p>\n<p>Es ist interessant, denn pl\u00f6tzlich haben Sie Lieferungen, die auf mehrere Regionen verteilt sind, ohne es zu merken. Das kann jedoch riskant sein, denn hier h\u00e4ngt alles von einer gewissen Magie ab.<\/p>\n<p><\/p>\n<p>Aber w\u00e4hrend Shipper haupts\u00e4chlich versucht, die Auswirkungen der Lieferungen abzuschw\u00e4chen, \u00fcbernimmt der Multi-Cluster-Scheduler allgemeinere Aufgaben und eignet sich m\u00f6glicherweise besser f\u00fcr Batch-Jobs.<\/p>\n<p><\/p>\n<p>Er verf\u00fcgt nicht \u00fcber einen ausgekl\u00fcgelten Mechanismus f\u00fcr schrittweise Lieferungen.<\/p>\n<p><\/p>\n<p>Mehr \u00fcber den Multi-Cluster-Scheduler erfahren Sie auf <noindex>der Seite des offiziellen Repositories.<\/noindex>.<\/p>\n<p><\/p>\n<p>Wenn Sie \u00fcber den Multi-Cluster-Scheduler in der Praxis lesen m\u00f6chten, hat Admiralty einen <noindex><a rel=\"nofollow\" href=\"https:\/\/admiralty.io\/blog\/running-argo-workflows-across-multiple-kubernetes-clusters\/\">interessanten Anwendungsfall mit Argo.<\/a><\/noindex> \u2014 Arbeitsabl\u00e4ufe, Ereignisse, CI und CD in Kubernetes.<\/p>\n<p><\/p>\n<h3 id=\"drugie-instrumenty-i-resheniya\">Weitere Tools und L\u00f6sungen.<\/h3>\n<p><\/p>\n<p>Die Verbindung und Verwaltung mehrerer Cluster ist eine komplexe Aufgabe; es gibt keine universelle L\u00f6sung.<\/p>\n<p><\/p>\n<p>Wenn Sie dieses Thema eingehender erkunden m\u00f6chten, finden Sie hier einige Ressourcen:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/submariner.io\/\">Submariner von Rancher<\/a><\/noindex> \u2014 ein Werkzeug, das die Overlay-Netze verschiedener Kubernetes-Cluster verbindet.<\/li>\n<li>Das Einzelhandelsnetz Target nutzt <noindex><a rel=\"nofollow\" href=\"https:\/\/tech.target.com\/infrastructure\/2018\/06\/20\/enter-unimatrix.html\">Unimatrix zusammen mit Spinnaker, um Deployments in mehreren Clustern zu orchestrieren.<\/a><\/noindex>.<\/li>\n<li>Versuchen Sie, IPV6 zu verwenden und <noindex><a rel=\"nofollow\" href=\"https:\/\/itnext.io\/kubernetes-multi-cluster-networking-made-simple-c8f26827813\">ein einheitliches Netzwerk in mehreren Regionen einzurichten.<\/a><\/noindex>.<\/li>\n<li>Sie k\u00f6nnen ein Service Mesh wie <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/docs\/setup\/kubernetes\/install\/multicluster\/\">Istio verwenden, um mehrere Cluster zu verbinden.<\/a><\/noindex>.<\/li>\n<li>Cilium, ein Container-Netzwerkschnittstellen-Plugin, bietet <noindex><a rel=\"nofollow\" href=\"https:\/\/cilium.io\/blog\/2019\/03\/12\/clustermesh\/\">die Funktion des Cluster Mesh<\/a><\/noindex>, die es erm\u00f6glicht, mehrere Cluster zu kombinieren.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"vot-i-vse-na-segodnya\">Das w\u00e4re alles f\u00fcr heute.<\/h3>\n<p><\/p>\n<p><em>Vielen Dank, dass Sie bis zum Ende gelesen haben!<\/em><\/p>\n<p><\/p>\n<p>Wenn Sie wissen, wie man mehrere Cluster effektiver verbindet, <noindex><a rel=\"nofollow\" href=\"http:\/\/hello@learnk8s.io\">lassen Sie es uns wissen.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Wir werden Ihre Methode zu den Links hinzuf\u00fcgen.<\/p>\n<p><\/p>\n<p>Besonderer Dank gilt Chris Nesbitt-Smith (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/chrisns\">Chris Nesbitt-Smith<\/a><\/noindex>) und Vincent De Smet (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/so0k\">Vincent De Smet<\/a><\/noindex>) (Reliability Engineer bei <noindex><a rel=\"nofollow\" href=\"https:\/\/swatmobile.io\/\">swatmobile.io<\/a><\/noindex>) daf\u00fcr, dass sie den Artikel gelesen und n\u00fctzliche Informationen dar\u00fcber geteilt haben, wie die F\u00f6deration funktioniert.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454056\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0435\u0440\u0438\u044e \u043a\u0440\u0430\u0442\u043a\u0438\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e Kubernetes. \u042d\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u043d\u043b\u0430\u0439\u043d \u0438 \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0442\u0440\u0435\u043d\u0438\u043d\u0433\u0430\u0445. \u041e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e Kubernetes. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u2014 \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u041f\u043e\u043b\u0435\u043d\u0447\u0438\u043a (Daniele Polencic). \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u041f\u041e \u0432 Learnk8s. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34825","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0435\u0440\u0438\u044e \u043a\u0440\u0430\u0442\u043a\u0438\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e Kubernetes. \u042d\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u043d\u043b\u0430\u0439\u043d \u0438 \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0442\u0440\u0435\u043d\u0438\u043d\u0433\u0430\u0445. \u041e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e Kubernetes. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u2014 \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u041f\u043e\u043b\u0435\u043d\u0447\u0438\u043a (Daniele Polencic). \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u041f\u041e \u0432 Learnk8s.\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b Kubernetes \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0435\u0440\u0438\u044e \u043a\u0440\u0430\u0442\u043a\u0438\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e Kubernetes. \u042d\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u043d\u043b\u0430\u0439\u043d \u0438 \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0442\u0440\u0435\u043d\u0438\u043d\u0433\u0430\u0445. \u041e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e Kubernetes. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u2014 \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u041f\u043e\u043b\u0435\u043d\u0447\u0438\u043a (Daniele Polencic). \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u041f\u041e \u0432 Learnk8s.\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:35+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wie man Kubernetes-Cluster in verschiedenen Rechenzentren verbindet | ProHoster","description":"Willkommen in unserer Serie von kurzen Leitf\u00e4den zu Kubernetes. Dies ist eine regelm\u00e4\u00dfige Kolumne, in der wir die interessantesten Fragen behandeln, die wir online und in unseren Schulungen erhalten. Beantwortet wird sie von einem Kubernetes-Experten. Der heutige Experte ist Daniele Polencic. Daniele ist Instruktor und Softwareentwickler bei Learnk8s. Wenn Sie eine Antwort auf Ihre Frage im n\u00e4chsten Beitrag erhalten m\u00f6chten, kontaktieren Sie uns.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b Kubernetes \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430\u0445 | ProHoster","og:description":"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0435\u0440\u0438\u044e \u043a\u0440\u0430\u0442\u043a\u0438\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e Kubernetes. \u042d\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u0441\u0430\u043c\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u043d\u043b\u0430\u0439\u043d \u0438 \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0442\u0440\u0435\u043d\u0438\u043d\u0433\u0430\u0445. \u041e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e Kubernetes. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u2014 \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u041f\u043e\u043b\u0435\u043d\u0447\u0438\u043a (Daniele Polencic). \u0414\u0430\u043d\u0438\u044d\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u041f\u041e \u0432 Learnk8s.\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-soedinit-klastery-kubernetes-v-raznyh-data-tsentrah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:35+00:00","article:modified_time":"2019-10-31T19:00:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34825","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:14:06","updated":"2026-01-21 20:45:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=34825"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34825\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/26226"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=34825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=34825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=34825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}