Ich wollte schon immer Kubernetes lernen, weil es interessant klang (und als Grieche fänden Sie den Namen problematisch), aber ich hatte nie die Gelegenheit dazu, weil ich nichts in einem Cluster laufen hatte. Vor Kurzem habe ich begonnen, mich bei der Arbeit mit Kubernetes-bezogenen Themen zu befassen und habe die Gelegenheit genutzt, um Informationen nachzuschlagen. Dann habe ich jedoch festgestellt, dass alle aktuellen Informationen (einschließlich offizieller Tutorials) zu langwierig und unangemessen waren, was mich zunächst ein wenig frustrierte. Nach einigen Tagen der Recherche begann ich nach und nach die Kernkonzepte von Kubernetes zu verstehen und konnte es in einer Produktionsumgebung einsetzen. Da in meinem Lebenslauf nun stand, dass ich ein „Kubernetes-Experte“ sei, kam mir sofort eine Idee: Warum sollte ich mein umfassendes Verständnis des Systems und das Wissen, das ich mir in stundenlanger Recherche angeeignet hatte, nicht mehr Leuten zugänglich machen? Obwohl ich mich nicht davon überzeugen konnte, nicht noch einen weiteren wirren Artikel zu schreiben, wurde mir bald klar: Das Hauptproblem, das ich mit den vorhandenen Artikeln hatte, bestand darin, dass ich keinen Artikel finden konnte, der einen umfassenden Überblick darüber gab, was diese Komponenten sind und wie sie zusammenpassen, bevor er in die Einzelheiten eintauchte. Diese anspruchsvolle Präsentationsmethode ist für mich die beste Art zu lernen. Ich habe es so geschrieben und hoffe, dass es auch für Sie funktioniert. Wenn Sie Expertenartikel/Tutorials kennen, in denen die Funktionsweise von Kubernetes auf leicht verständliche Weise beschrieben wird, erzählen Sie es mir bitte nicht, denn Sie waren da, als ich Sie brauchte, und jetzt habe ich meinen Artikel geschrieben und Sie haben ihn nicht früher herausgebracht. Bedenken Sie auch, dass ich mich erst seit etwa einer Woche wirklich mit Kubernetes beschäftige. Dies wird also nicht super ausführlich sein und einiges davon könnte ungenau sein, aber hoffentlich sind keine Fehler enthalten und die Informationen hier sollten ausreichen, um Sie an den Punkt zu bringen, an dem Sie einen einfachen Cluster ausführen können. Dennoch fand ich die Konzepte von Kubernetes letztlich ziemlich einfach, auch wenn es sicher noch vieles gibt, was ich nicht weiß. Meine Kenntnisse reichten jedoch aus, um einen Cluster einzurichten und unsere App darauf zum Laufen zu bringen, und ich bin ziemlich sicher, dass sie den meisten Leuten als Grundlage für die ersten Schritte genügen. Grundlegende Konzepte Als erstes müssen wir uns die verschiedenen Teile von Kubernetes im Detail ansehen:
Alle diese Elemente können mit kubectl über die Befehlszeile oder sicherer über eine YAML-Datei erstellt werden, die die Definition und Details dessen enthält, was Sie bereitstellen möchten (führen Sie dann kubectl apply -f <yaml file> aus). Auf einer hohen Ebene platzieren Sie Container in Pods, die von einer Bereitstellung erstellt und bereitgestellt werden, deren Vernetzung von einem Dienst übernommen wird, und Sie fügen einen Ingress hinzu, damit die Außenwelt auf Ihren Server zugreifen kann. Lassen Sie uns diese Abschnitte einzeln durchgehen und sehen, wie ihre YAML-Konfiguration aussieht. Die Kapsel Werfen wir einen Blick auf die YAML-Konfiguration für einen Pod, der ein Redis-Image in einem Container ausführt. Denken Sie daran, dass ein Pod nicht dauerhaft ist und Sie ihn daher fast nie direkt verwenden werden. Stattdessen stellen Sie Pods indirekt mithilfe einer Bereitstellung bereit, die wir als Nächstes behandeln. Die folgenden Konfigurationsbeispiele dienen ausschließlich Ihrer Modifikation. Man muss es sich nur ansehen und dann weiterlesen, ohne anzuhalten, um seine Schönheit zu bewundern. Wie Sie sehen, ist es ganz einfach: Sie fügen eine Reihe von Kubernetes-spezifischen Dingen hinzu, die Sie alle einfach kopieren und einfügen. Dann erklären Sie, dass diese Konfiguration für einen Pod ist, geben ihm einen Namen, geben die Container an, die darin ausgeführt werden, und die Ports, auf denen sie lauschen, löschen die gesamte Datei, und schon sind Sie fertig! Weitere Informationen zu Pods finden Sie in der offiziellen Kubernetes-Dokumentation. Der Einsatz So führen Sie den oben genannten Pod mithilfe einer Bereitstellung tatsächlich aus. Denken Sie daran, dass Sie auf die obige Pod-Konfiguration überhaupt nicht achten müssen, wir werden sie bei der Bereitstellung neu definieren. Sie werden feststellen, dass dies größtenteils die Pod-Konfiguration von oben ist, aber mit einigen zusätzlichen Konfigurationen wie Replikaten usw. Diese definieren den Namen der Bereitstellung und die Anzahl der Replikate, die wir bereitstellen möchten. Durch Ändern der Anzahl der Replikate werden mehr im Vorlagenabschnitt angegebene Pods bereitgestellt. Weitere Informationen zu Bereitstellungen finden Sie in der offiziellen Kubernetes-Dokumentation. Der Service Nachdem wir nun einen Pod bereitgestellt haben, müssen wir seine Ports dem Rest des Clusters zugänglich machen. Die Direktive „containerPort“ in einer Bereitstellung stellt den Docker-Port bereit, leitet den Port jedoch nicht tatsächlich an den Host weiter, sodass mehrere Pods (keine Container im selben Pod) denselben Port ohne Konflikte verwenden können. Um den oben genannten Port tatsächlich anderen Pods zugänglich zu machen, die im Cluster ausgeführt werden, müssen wir einen Dienst dafür erstellen. Dadurch werden die zum Weiterleiten des Ports erforderlichen Regeln erstellt und wir erhalten einen DNS-Eintrag, mit dem wir die IP für diesen Pod auflösen können. Dadurch wird der Redis-Port anderen Pods im Cluster zugänglich gemacht, die über my-service:6379 eine Verbindung damit herstellen können. Um weitere Teile Ihrer Anwendung bereitzustellen, fügen Sie dem Cluster einfach eine weitere Bereitstellung und den zugehörigen Dienst hinzu. Sie können Ihren Hauptanwendungsdienst auf genau dieselbe Weise wie oben Redis bereitstellen. Der Ingress Schließlich können wir unseren Dienst mithilfe von Ingress dem Internet zugänglich machen. Hier ist ein Beispiel mit Traefik. Auch wenn Sie Redis vielleicht nicht der Außenwelt zugänglich machen möchten, gilt der gleiche Ansatz für Ihre eigenen Anwendungen. Dieser Konfigurationsabschnitt teilt Traefik mit, dass der gesamte Datenverkehr auf dem Host mit dem Namen redis.yourdomain.com an meinen Service-Port 6379 weitergeleitet werden soll. Soweit ich weiß, ist dies nur eine Konfiguration für Traefik. Nach dem Anwenden der Konfiguration wird der Pod über Traefik auf redis.yourdomain.com dem Internet zugänglich gemacht. Ich hoffe, dieser Artikel war für Anfänger hilfreich. Dieser Beitrag war kurz, da die Grundlagen von Kubernetes kurz sind, aber wir haben es geschafft, mit minimalem Aufwand darzulegen, wie der Dienst ausgeführt werden kann. Jetzt sollten Sie verstehen, was Kubernetes ist! Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: So installieren Sie MySQL 5.7.17 und stellen die Kodierung in Windows auf UTF-8 ein
>>: WebStorm kann die Lösung der Vue3-kombinierten API nicht korrekt identifizieren
Führen Sie zunächst eine einfache Docker-Installa...
So implementieren Sie das MySQL-Umschalten des Da...
IE8 wird mehrere Kompatibilitätsmodi haben. Der IE...
Geben Sie den MySQL-Befehl ein: mysql -u+(Benutze...
Inhaltsverzeichnis Definition Grammatik Beispiele...
Die Hintergrundfarbe der Tabelle kann über das At...
Inhaltsverzeichnis Wirkung Beginnen Sie mit der T...
Inhaltsverzeichnis Vorwort Mischen Mixin-Hinweis ...
Vorwort Wenn Sie ein Topmenü erstellen, müssen Si...
Ich bin heute auf ein Problem gestoßen: Kann ich ...
Inhaltsverzeichnis 1. Live-Übertragungseffekt 2. ...
MySQL-Transaktionsisolationsebene anzeigen mysql&...
Ich entwickle derzeit ein neues App-Projekt. Dies...
1. Testumgebung Name Version centos 7.6 Docker 18...
Allgemeiner Handy-Stil: @media alle und (Ausricht...