{"id":81185,"date":"2020-05-11T13:42:59","date_gmt":"2020-05-11T11:42:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/k8s-multicluster-journey"},"modified":"2020-05-11T13:42:59","modified_gmt":"2020-05-11T11:42:59","slug":"k8s-multicluster-journey","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/k8s-multicluster-journey","title":{"rendered":"K8S Multicluster Journey","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo, Habr!<\/p>\n<p>Wir stellen das Team der Plattform von Exness vor. Zuvor haben unsere Kolleg*innen bereits einen Artikel \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/exness\/blog\/488392\/\">Produktionsbereite Images f\u00fcr k8s<\/a><\/noindex>. Heute m\u00f6chten wir unsere Erfahrungen mit der Migration von Diensten nach Kubernetes teilen.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/23684e366a59da27be15384fc9e9f2b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nZun\u00e4chst m\u00f6chten wir einige Zahlen pr\u00e4sentieren, um ein besseres Verst\u00e4ndnis f\u00fcr das Thema zu vermitteln:<\/p>\n<ul>\n<li>Unser Entwicklungsteam besteht aus \u00fcber 100 Personen, darunter mehr als 10 verschiedene Teams mit eigenst\u00e4ndigen QA-, DevOps- und Scrum-Prozessen. Der Technologiestack umfasst Python, PHP, C++, Java und Golang.\u00a0\n<\/li>\n<li>Die Gr\u00f6\u00dfe der Test- und Produktionsumgebung liegt bei etwa 2000 Containern in jeder Umgebung. Diese werden von Rancher v1.6 auf eigener Virtualisierung und unter VMware verwaltet.\u00a0\n<\/li>\n<\/ul>\n<p><\/p>\n<h4>Motivation<\/h4>\n<p>\nWie man so sch\u00f6n sagt, nichts ist f\u00fcr immer unter dem Mond, und Rancher hat vor einiger Zeit die Unterst\u00fctzung von Version 1.6 eingestellt. Ja, wir haben \u00fcber drei Jahre lang gelernt, es zu konfigurieren und Probleme zu l\u00f6sen, aber wir hatten immer h\u00e4ufiger mit Schwierigkeiten zu k\u00e4mpfen, die nie behoben werden. Au\u00dferdem hat Rancher 1.6 ein veraltetes System zur Vergabe von Berechtigungen, bei dem man entweder fast alles oder gar nichts machen kann.<\/p>\n<p>Eigene Virtualisierung bot zwar mehr Kontrolle \u00fcber die Datenspeicherung und -sicherheit, brachte jedoch Betriebskosten mit sich, die schwer zu akzeptieren waren, angesichts des st\u00e4ndigen Wachstums des Unternehmens, der Anzahl der Projekte und der damit verbundenen Anforderungen.<\/p>\n<p>Wir wollten den IaC-Standards folgen und bei Bedarf schnell Kapazit\u00e4ten in jeder geografischen Lage ohne Vendor Lock-in erhalten sowie die M\u00f6glichkeit haben, diese schnell wieder abzulehnen.<\/p>\n<h4>Erste Schritte<\/h4>\n<p>\nVor allem wollten wir auf moderne Technologien und L\u00f6sungen setzen, die den Teams schnellere Entwicklungszyklen erm\u00f6glichen und die Betriebskosten f\u00fcr die Interaktion mit der Leistungsplattform minimieren.\u00a0<br \/>\n\u00a0<br \/>\nNat\u00fcrlich kam uns zuerst Kubernetes in den Sinn, aber wir wollten nicht \u00fcbereilen und f\u00fchrten eine kleine Untersuchung durch, um die Richtigkeit unserer Wahl zu \u00fcberpr\u00fcfen. Wir haben nur Open-Source-L\u00f6sungen evaluiert, und in diesem ungleichen Wettkampf gewann Kubernetes ohne Zweifel.\u00a0\u00a0<\/p>\n<p>Als N\u00e4chstes stellte sich die Frage nach dem Auswahlwerkzeug f\u00fcr die Erstellung von Clustern. Wir verglichen die beliebtesten L\u00f6sungen: kops, kubespray, kubeadm.<\/p>\n<p>F\u00fcr den Start schien uns kubeadm ein zu komplizierter Weg zu sein, eher eine Art Erfinder des \u201eRades\u201c, w\u00e4hrend kops an Flexibilit\u00e4t mangelte.<\/p>\n<p>Und der Sieger ist:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/fb577d241a7f22f2217d3223b81827fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir haben begonnen, Experimente mit unserer eigenen Virtualisierung und AWS durchzuf\u00fchren, um eine ungef\u00e4hre Nachbildung unseres vorherigen Ressourcenverwaltungsansatzes zu schaffen, bei dem alle denselben \u201eCluster\u201c nutzen. Und hier ist unser erster Cluster mit 10 kleinen <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/vps\/\"   title=\"virtuellen Maschinen\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2027\">virtuellen Maschinen<\/a>, von denen sich einige in AWS befinden. Wir haben begonnen, Teams dorthin zu migrieren, anscheinend wurde alles \u201egut\u201c, und die Geschichte k\u00f6nnte hier enden, aber...<\/p>\n<h4>Die ersten Probleme<\/h4>\n<p>\nAnsible \u2013 die Grundlage von kubespray \u2013 ist nicht das Werkzeug, das es erm\u00f6glicht, IaC zu folgen: Bei der Ein- und Ausgabe von Knoten aus der Produktion lief st\u00e4ndig etwas schief, und es erforderte irgendeine Art von Eingreifen, und bei der Verwendung verschiedener Betriebssysteme verhielt sich das Playbook unterschiedlich. Mit der steigenden Anzahl von Teams und Knoten im Cluster stellten wir fest, dass das Playbook immer l\u00e4nger dauerte, unser Rekord lag schlie\u00dflich bei 3,5 Stunden, und Ihrer? \ud83d\ude42<\/p>\n<p>Und es scheint, dass kubespray einfach Ansible ist, und alles auf den ersten Blick klar ist, aber:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/93d3f392f22664fbdf5a43fd77947be1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZu Beginn lag die Aufgabe darin, die Kapazit\u00e4ten nur in AWS und Virtualisierungen zu starten, aber wie so oft \u00e4nderten sich die Anforderungen.<br \/>\n\u00a0<br \/>\n<img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/8db7eada6648da7bdb60920880a8a88d.jpg\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/7f19b80a994d8dce75cd9dd74614fb34.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn diesem Licht wurde klar, dass unser altes Muster der Zusammenf\u00fchrung von Ressourcen in ein Orchestrierungssystem nicht geeignet war \u2014 insbesondere wenn Cluster weit voneinander entfernt und von verschiedenen Anbietern verwaltet werden.\u00a0<\/p>\n<p>Es wird noch komplizierter. Wenn alle Teams innerhalb eines Clusters arbeiten, konnten verschiedene Dienste mit falsch konfigurierten NodeSelectors auf \u201efremde\u201c Hosts anderer Teams gelangen und dort Ressourcen verbrauchen, w\u00e4hrend bei einer Taint-Vergabe st\u00e4ndig Beschwerde eingereicht wurde, dass jener oder andere Dienst nicht funktioniert oder aufgrund menschlichen Versagens nicht richtig verteilt wird. Ein weiteres Problem war die Kostenberechnung, insbesondere angesichts der Schwierigkeiten bei der Verteilung von Diensten auf Nodes.<\/p>\n<p>Ein eigenes Kapitel war die Vergabe von Rechten an Mitarbeiter: Jedes Team wollte \u201ean der Spitze\u201c des Clusters stehen und ihn vollst\u00e4ndig verwalten, was zu einem vollst\u00e4ndigen Kollaps f\u00fchren konnte, da die Teams gr\u00f6\u00dftenteils unabh\u00e4ngig voneinander sind.<\/p>\n<h4>Was tun?<\/h4>\n<p>\nAngesichts der oben genannten Aspekte und den W\u00fcnschen der Teams, unabh\u00e4ngiger zu agieren, sind wir zu einer einfachen Schlussfolgerung gekommen: ein Team \u2014 ein Cluster.\u00a0<\/p>\n<p>So haben wir einen zweiten Cluster eingef\u00fchrt:<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/215c3ae09dd79e64657201c791b9375d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnd dann den dritten Cluster:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/ea88e0394b97d05747e7d711f63de0a0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier haben wir angefangen zu \u00fcberlegen: Angenommen, unsere Teams haben in einem Jahr nicht nur einen Cluster? In verschiedenen geografischen Zonen zum Beispiel, oder unter der Verwaltung verschiedener Anbieter? Und k\u00f6nnte jemand von ihnen wollen, die M\u00f6glichkeit zu haben, schnell einen tempor\u00e4ren Cluster f\u00fcr Tests einzurichten?\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/44f7f0dfe56462caeb74204ac0c10f54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas w\u00e4re der volle Kubernetes! Das klingt nach einem MultiKubernetes.\u00a0<\/p>\n<p>Zugleich m\u00fcssen wir alle diese Cluster irgendwie verwalten, den Zugriff darauf einfach steuern und neue erstellen sowie alte au\u00dfer Betrieb nehmen, ohne manuelles Eingreifen.<\/p>\n<p>Seit Beginn unserer Reise in die Welt von Kubernetes ist einige Zeit vergangen, und wir haben beschlossen, die verf\u00fcgbaren L\u00f6sungen erneut zu pr\u00fcfen. Es stellte sich heraus, dass es bereits eine L\u00f6sung auf dem Markt gibt \u2014 Rancher 2.2.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/e2547fd5ce3ead078da064b52cb4e6eb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn der ersten Phase unserer Untersuchungen hatte Rancher Labs bereits die erste Version 2 ver\u00f6ffentlicht. Obwohl sie sich schnell bereitstellen lie\u00df, indem man einen Container ohne externe Abh\u00e4ngigkeiten mit ein paar Parametern oder \u00fcber das offizielle HELM Chart startete, schien sie uns unausgereift, und wir wussten nicht, ob wir uns auf diese L\u00f6sung verlassen konnten und ob sie weiterentwickelt oder schnell aufgegeben w\u00fcrde. Das Konzept, dass ein Cluster = Klicks in der Benutzeroberfl\u00e4che war, war ebenfalls nicht f\u00fcr uns geeignet, und wir wollten uns nicht an RKE binden, da dies ein recht spezialisierter Tool ist.\u00a0<\/p>\n<p>Die Version Rancher 2.2 hatte bereits einen funktionierenden Eindruck und bot zusammen mit den vorherigen interessanten M\u00f6glichkeiten direkt aus der Box, wie die Integration mit vielen externen Anbietern, einen einheitlichen Verteilungspunkt f\u00fcr Berechtigungen und kubeconfig-Dateien, sowie die Ausf\u00fchrung des kubectl-Images mit Ihren Rechten in der Benutzeroberfl\u00e4che, inklusive verschachtelter Namespaces aka Projekte.\u00a0<\/p>\n<p>Um Rancher 2 herum hatte sich bereits eine Community gebildet, und es wurde ein Provider HashiCorp Terraform zur Verwaltung erstellt, der uns half, alles zusammenzuf\u00fchren.<\/p>\n<h4>Was entstanden ist<\/h4>\n<p>\nSo entstand ein kleiner Cluster, in dem Rancher l\u00e4uft, der f\u00fcr alle anderen Cluster zug\u00e4nglich ist, sowie viele damit verbundene Cluster, auf die man ebenso einfach zugreifen kann, wie man einen Benutzer im LDAP-Verzeichnis hinzuf\u00fcgt, unabh\u00e4ngig davon, wo er sich befindet und welche Ressourcen er von welchem Anbieter nutzt.<\/p>\n<p>Mit GitLab-CI und Terraform wurde ein System geschaffen, das es erm\u00f6glicht, Cluster jeder Konfiguration in Cloud-Anbietern oder unserer eigenen Infrastruktur zu erstellen und sie mit Rancher zu verbinden. Das gesamte Verfahren erfolgt im IaC-Stil, wobei jeder Cluster in einem Repository beschrieben und dessen Zustand versioniert wird. Dabei werden die meisten Module aus externen Repositories eingebunden, sodass nur Variablen \u00fcbergeben oder eine eigene benutzerdefinierte Konfiguration f\u00fcr Instanzen beschrieben werden muss, was hilft, die Code-Wiederholungsquote zu verringern.<\/p>\n<p><img decoding=\"async\" alt=\"K8S Multicluster Journey\" src=\"\/wp-content\/uploads\/2020\/05\/4124621cbd4a44b814929e41b5bea49d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNat\u00fcrlich ist unsere Reise noch lange nicht zu Ende, und es stehen noch viele interessante Aufgaben bevor, wie ein einheitlicher Zugang zu Logs und Metriken aller Cluster, Service Mesh, GitOps zur Lastenverwaltung in Multi-Cluster-Umgebungen und vieles mehr. Wir hoffen, dass Sie an unseren Erfahrungen interessiert sind!\u00a0<\/p>\n<p>Der Artikel wurde von A. Antipov, A. Ganush, Plattform-Engineers verfasst.\u00a0<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/exness\/blog\/501090\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness. \u0420\u0430\u043d\u0435\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e Production-ready images for k8s. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0446\u0438\u0444\u0440 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043e \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0440\u0435\u0447\u044c: \u041d\u0430\u0448 \u043e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e 100+ \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 10 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81185","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness. \u0420\u0430\u043d\u0435\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e Production-ready images for k8s. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0446\u0438\u0444\u0440 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043e \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0440\u0435\u0447\u044c: \u041d\u0430\u0448 \u043e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e 100+ \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 10 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\" \/>\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\/k8s-multicluster-journey\" \/>\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\udd47K8S Multicluster Journey | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness. \u0420\u0430\u043d\u0435\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e Production-ready images for k8s. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0446\u0438\u0444\u0440 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043e \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0440\u0435\u0447\u044c: \u041d\u0430\u0448 \u043e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e 100+ \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 10 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/k8s-multicluster-journey\" \/>\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=\"2020-05-11T11:42:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-11T11:42:59+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\udd47K8S Multicluster Journey | ProHoster","description":"Hallo, Habr! Wir stellen das Plattformteam von Exness vor. Unsere Kollegen haben bereits einen Artikel \u00fcber produktionsbereite Images f\u00fcr k8s verfasst. Heute m\u00f6chten wir unsere Erfahrungen mit der Migration von Services in Kubernetes teilen. Zun\u00e4chst m\u00f6chten wir Ihnen einige Zahlen pr\u00e4sentieren, um ein besseres Verst\u00e4ndnis daf\u00fcr zu vermitteln, worum es gehen wird: Unser Entwicklungsteam besteht aus \u00fcber 100 Personen, darunter mehr als 10 verschiedene Teams.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/k8s-multicluster-journey","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\udd47K8S Multicluster Journey | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Exness. \u0420\u0430\u043d\u0435\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e Production-ready images for k8s. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 Kubernetes. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0446\u0438\u0444\u0440 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043e \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u0440\u0435\u0447\u044c: \u041d\u0430\u0448 \u043e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e 100+ \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 10 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/k8s-multicluster-journey","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":"2020-05-11T11:42:59+00:00","article:modified_time":"2020-05-11T11:42:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81185","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:03:22","updated":"2026-02-09 17:11:07"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81185","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=81185"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81185\/revisions"}],"predecessor-version":[{"id":159271,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81185\/revisions\/159271"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/81186"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=81185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=81185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=81185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}