Kubernetes

Kubernetes-Cluster mit dem EKS-Service von Amazon erstellen

Kubernetes-Cluster mit dem EKS-Service von Amazon erstellen
Kubernetes ist eine komplexe Software. Es ist für einen verteilten Cluster von Rechenknoten gedacht und wurde entwickelt, um Arbeitslastspitzen, Verbindungsausfällen und Knotenausfällen standzuhalten. Es ist auch ein schnelllebiges Projekt mit ständigen (und oft rückwärts inkompatiblen) Änderungen und Abhängigkeiten von Drittanbietern.

Angesichts der Komplexität, die ihm zugrunde liegt, ist es für ein Unternehmen sehr schwierig und teuer, einen Kubernetes-Cluster selbst zu hosten und zu warten und seine Anwendungen darauf auszuführen. Wenn Sie nicht im Geschäft mit dem Betrieb von Kubernetes-Clustern tätig sind, möchten Sie möglicherweise den Elastic Kubernetes Service (EKS) von Amazon verwenden, um Ihre Anwendungen bereitzustellen. Es reduziert die Betriebskosten erheblich und Sie können sich darauf verlassen, dass stattdessen erfahrene Entwickler und Betreiber dafür verantwortlich sind.

Voraussetzungen

Kubernetes-Cluster erstellen

Sie können den Cluster auch über die CLI erstellen, aber die meisten neuen Benutzer würden die grafische Konsole freundlicher finden. Also werden wir das stattdessen verwenden. Angenommen, Sie haben sich bei Ihrer AWS-Konsole angemeldet, können wir beginnen, indem Sie zu . gehen Dienstleistungen aus der oberen rechten Ecke und klicken Sie auf EKS aus dem Dropdown-Menü:

Im nächsten Menü wird die AWS-Einführungsseite angezeigt, gehen wir zum Cluster Option unterhalb des EKS-Untermenüs.

Hier sehen Sie die Liste aller Kubernetes-Cluster, die unter Ihrem Konto erstellt wurden. Da es keine gibt, erstellen wir eine.

Klicke auf Cluster erstellen. Geben Sie ihm einen Namen, wählen Sie die gewünschte Kubernetes-Version aus, zum Zeitpunkt des Schreibens dieser Version 1.11 wird von Amazon unterstützt. Klicken Sie als nächstes auf Rollenname, weil wir eine Rolle erstellen müssen, die wir Amazon EKS bereitstellen müssen, damit es unseren Cluster verwalten kann.

Rolle erstellen und zuweisen

Bevor wir damit beginnen, wollen wir einen wichtigen Unterschied zwischen Amazon EKS (ein AWS-Service) und Ihr Kubernetes-Cluster auf AWS. AWS trennt die Verantwortlichkeiten, wo immer es kann, um Ihnen eine sehr feine Kontrolle über alles zu geben. Wenn Sie sich selbst oder einem Dritten die vollständige Kontrolle über diese Ressourcen geben möchten, können Sie dies auch tun.

Denk an Amazon EKS als eine solche Partei, die Ihren Kubernetes-Cluster (Ihren EKS-Cluster) in Ihrem Namen verwaltet, aber dafür ist Ihre ausdrückliche Erlaubnis erforderlich. Dazu 'erstellen' und weisen wir die Rolle EKS-Cluster unter unserem AWS-Konto zu verwalten und zuzuordnen Amazon EKS.

Im neuen IAM-Tab, der sich nach dem Klicken auf Rollenname geöffnet hat, sehen Sie einige Standardrollen für Abrechnung und Support sind bereits vorhanden. Lass uns einen neuen für EKS erstellen. Klicke auf Rolle erstellen.

Wählen Sie den Typ der vertrauenswürdigen Entität aus als AWS-Service, für die die Rolle erstellt werden soll und wählen Sie dann EKS aus, damit Ihr EKS-Cluster direkt mit dem Amazon EKS direkt und optimal performen. Dann klick Nächster.

Jetzt können Sie die Berechtigungen und Berechtigungsgrenzen sehen, die dieser Rolle zugeordnet sind. Die Standardwerte sind in Ordnung, klicken Sie einfach auf weiter.

Im nächsten Menü werden Sie aufgefordert, dieser Rolle Tags (Schlüssel-Wert-Paare) hinzuzufügen. Es ist völlig optional, aber sehr nützlich, wenn Sie die CLI verwenden, um Ihre AWS-Ressourcen zu verwalten und viele verschiedene Rollen und Ressourcen zu verwalten sind. Wir werden keine Tags hinzufügen, klicke Nächster und geben Sie Ihrer Rolle einen aussagekräftigen Namen und eine Beschreibung.

Und das ist es! Klicken auf Rolle erstellen und wir können zu unserer EKS-Cluster-Erstellung zurückkehren. Wenn Sie das nächste Mal einen weiteren Cluster erstellen möchten, können Sie dieselbe Rolle wiederverwenden.

Zurück zur Cluster-Erstellung

Selbst wenn Ihr AWS-Konto ganz neu ist, gibt es immer noch eine Standard-VPC (Virtual Private Cloud) mit einigen darin erstellten Subnetzen. Diese sind oft auf verschiedene AWS-Regionen verteilt und Sie müssen mindestens zwei davon auswählen, damit es sich um einen Cluster handelt.

Und wählen Sie die Standardsicherheitsgruppe aus, um den meisten ein- und ausgehenden Datenverkehr normal zuzulassen.

Klicke auf Erstellen und Ihr Kubernetes-Cluster ist in wenigen Minuten betriebsbereit. Sobald Ihr Cluster erstellt ist. Einen Überblick erhalten Sie jederzeit unter EKS → Cluster → meinCluster. Natürlich wird der letzte Teil, der Name Ihres Clusters, anders sein.

Lokale Einrichtung

Die Funktionsweise der EKS-Plattform besteht darin, dass Sie mit der Steuerungsebene am API-Endpunkt der Ebene interagieren können. Die Steuerungsebene entspricht den Masterknoten in Vanilla-Kubernetes-Clustern. Es führt etcd, CAs und natürlich den API-Server aus, den Sie zur Steuerung Ihres Kubernetes-Clusters verwenden.

Sie müssen Ihr kubectl und/oder Ihr Dashboard so konfigurieren, dass es mit diesem API-Endpunkt funktioniert. Sobald dies eingerichtet ist, können Sie damit beginnen, alle Ihre Ressourcen, Bereitstellungen usw. aufzulisten, wie Sie es bei einem normalen Kubernetes-Cluster tun würden.

Wenn Sie Kubectl noch nicht auf Ihrem Computer installiert haben, können Sie dies tun, indem Sie diesem Link für Mac, Windows oder Ihre bevorzugte Linux-Distribution folgen.

Wir benötigen eine zusätzliche Binärdatei, bei der es sich um die AWS IAM Authenticator-Binärdatei für Ihre Plattform handelt. Laden Sie es hier herunter und machen Sie es ausführbar.

$ sudo chmod +x ./aws-iam-authenticator

Fügen Sie es einem Ihrer $PATH-Ordner hinzu, zum Beispiel /usr/bin oder /sbin oder /usr/local/sbin. Oder Sie tun, was Amazon empfiehlt und fügen es einfach zu Ihrem Home-Verzeichnis hinzu und machen $HOME zu einem Teil Ihrer PATH-Variablen.

$ cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator &&
export PFAD=$HOME/bin:$PFAD

Nächster Test, ob die Binärdateien funktionieren.

$kubectl-Version
$ aws-iam-authenticator-Hilfe

Jetzt müssen wir diese Binärdateien konfigurieren, damit sie sicher mit unserem Kubernetes-Cluster kommunizieren können.  Sie können dies manuell tun, wenn Sie AWS CLI nicht einrichten möchten, aber das ist kein zuverlässiger Ansatz. Deshalb habe ich in den Voraussetzungen erwähnt, dass AWS CLI notwendig ist. Angenommen, Sie haben es installiert und so konfiguriert, dass es mit Ihrem AWS-Konto funktioniert, führen Sie den folgenden Befehl aus:

Hinweis:Wenn Sie kubectl bereits verwendet haben, um einen anderen Kubernetes-Cluster zu verwalten, mit den Konfigurationsdateien als Standard ~/.kube Lage. Möglicherweise möchten Sie diesen Ordner sichern, bevor Sie den folgenden Befehl ausführen.

$ aws eks update-kubeconfig --name myCluster

Der Name Ihres Clusters würde sich von „meinCluster“, ersetzt das stattdessen. Der Befehl update-kubeconfig aktualisiert Ihre kubectl-Konfiguration tatsächlich, indem er die Dateien im ~/.kube Mappe. Wenn dieser Ort nicht existiert, wird ein neuer für Sie erstellt.

Jetzt können Sie sich mit Ihrem Cluster verbinden.

$  aws eks describe-cluster --name myCluster

Wohin als nächstes?

Jetzt können Sie endlich Worker-Knoten mit CloudFormation hinzufügen und Ihre Anwendung in allen Regionen bereitstellen, auf die die VPC Ihres Clusters Zugriff hat. All dieser Prozess kann auch auf die n automatisiert werdendas Abschluss, wenn Sie sich dafür entscheiden, AWS CLI für alles zu verwenden, von der Erstellung des Clusters bis zur Bereitstellung und Skalierung Ihrer Apps.

Ich hoffe, Sie fanden dieses Tutorial hilfreich und aufschlussreich.

Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...