In diesem Artikel erfahren Sie, wie Sie mit Amazon EKS einen Kubernetes-Cluster auf AWS bereitstellen und wie Sie AWS CLI und Kubectl installieren und konfigurieren, um mit dem EKS-Cluster über die Befehlszeile in Linux zu interagieren.
Stellen Sie vor der Bereitstellung von Kubernetes-Clustern in der AWS-Cloud mit Amazon Elastic Kubernetes Service sicher, dass Sie über ein AWS-Konto verfügen. Wenn Sie kein AWS-Konto haben, lesen Sie unsere Einführung in Amazon Web Services (AWS) Artikel, um zu erfahren, wie man einen erstellt.
1. EKS-Cluster (Master-Knoten) einrichten
Um einen EKS-Cluster in AWS zu erstellen, müssen Sie eine IAM-Rolle erstellt haben.
1.1. IAM-Rolle erstellen
Von Amazon EKS verwaltete Kubernetes-Cluster rufen in Ihrem Namen andere AWS-Services auf, um die Ressourcen zu verwalten, die Sie mit dem Service nutzen.
Sie müssen zunächst eine IAM-Rolle mit der folgenden IAM-Richtlinie erstellen, bevor Sie Amazon EKS-Cluster erstellen können:
AmazonEKSClusterPolicy
Melden Sie sich bei Ihrer AWS-Konsole an und suchen Sie nach „IAM“. Wählen Sie den IAM-Dienst aus, um in die IAM-Konsole zu gelangen.
Wählen Sie Rollen in den Optionen auf der linken Seite und klicken Sie dann auf Rolle erstellen.
Wählen Sie AWS-Services und „EKS – Cluster“ in den Anwendungsfalloptionen aus. Klicken Sie nach der Auswahl auf „Weiter“, um fortzufahren.
Stellen Sie sicher, dass „AmazonEKSClusterPolicy“ hinzugefügt ist, standardmäßig wird es hinzugefügt, da wir EKS-Cluster in den Anwendungsfällen ausgewählt haben. Klicken Sie auf Weiter, um fortzufahren.
Legen Sie im nächsten Schritt den Rollennamen fest. Hier nennen wir die Rolle „ostechnix_eks“. Überprüfen Sie alle Parameter und klicken Sie am Ende auf „Erstellen“, um die Rolle zu erstellen.
Hier fügen wir keine Tags für diese Rolle hinzu. Wenn wir es mit mehreren Ressourcen zu tun haben, ist es hilfreich, Tags zu haben, um Ressourcen zu verwalten, zu identifizieren und zu filtern.
Eine neue Rolle mit dem Namen „ostechnix_eks“ wurde gerade erstellt.
1.2. EKS-Cluster erstellen
Gehen Sie zur AWS-Konsole und suchen Sie mit „EKS“. Wählen Sie den „Elastic Kubernetes Service“ aus, um in die EKS-Konsole zu gelangen.
Wählen Sie im Dropdown-Feld "Cluster hinzufügen" die Option "Cluster erstellen".
Sie erhalten die Seite „Cluster konfigurieren“, auf der Sie den Cluster benennen, die Kubernetes-Version auswählen und die Cluster-Dienstrolle auswählen können, die wir im vorherigen Schritt erstellt haben.
Hier haben wir den Cluster „ostechnix“ genannt und die Kubernetes-Version 1.21 ausgewählt.
Wenn Sie die Rolle nicht gefunden haben, aktualisieren Sie die Rollen. Wählen Sie die Rolle aus und klicken Sie auf „Weiter“, um fortzufahren.
In diesem „Netzwerk angeben“ müssen Sie das Netzwerk konfigurieren. Hier gehen wir mit Standardoptionen vor.
Wählen Sie die vorhandene VPC aus, VPC ist Virtual Private Cloud, in der Sie AWS-Ressourcen in dem von Ihnen definierten virtuellen Netzwerk erstellen können. Fahren Sie mit den Standardsubnetzen fort, die in der Standard-VPC verfügbar sind.
Wählen Sie IPv4 als Cluster-IP-Adressfamilie aus. Dies ist die Standardeinstellung.
Wählen Sie „Öffentlich“ für den Zugriff auf den Cluster-Endpunkt, wodurch nur der öffentliche Zugriff auf Ihren Cluster ermöglicht wird. Wenn Sie „Privat“ auswählen, wird nur der private Zugriff auf Ihren Cluster aktiviert. Hier fahren wir mit Public fort, was die Standardeinstellung ist.
Sie können mit den standardmäßigen „Netzwerk-Add-ons“ fortfahren und auf „Weiter“ klicken.
Sie erhalten die Seite „Protokollierung konfigurieren“, auf der Sie auswählen können, welche Protokolltypen Sie aktivieren möchten. Standardmäßig sind alle Typen deaktiviert. Klicken Sie auf „Weiter“, um fortzufahren.
Sie erhalten die Seite „Überprüfen und erstellen“. Überprüfen Sie alle von uns konfigurierten Details und klicken Sie unten auf „Erstellen“.
Die Cluster-Erstellung wird durchgeführt. Die Erstellung dauert einige Minuten.
Ein neuer EKS-Cluster mit dem Namen „ostechnix“ wird erstellt. Sie können in AWS Console🡪Amazon EKS🡪Clusters verifizieren.
Als Nächstes müssen wir AWS CLI und Kubectl installieren und konfigurieren, um über die Befehlszeile mit dem EKS-Cluster zu interagieren.
Um AWS CLI-Anmeldeinformationen zu konfigurieren, müssen Sie Sicherheitsanmeldeinformationen in AWS IAM erstellen.
2. Erstellen Sie Sicherheitsanmeldeinformationen
Melden Sie sich bei der AWS-Konsole an und suchen Sie mit IAM. Wählen Sie IAM aus, um zur IAM-Konsole zu gelangen.
Wählen Sie rechts die Option „Meine Sicherheitsdaten“, um Ihre Sicherheitsdaten zu erstellen und zu verwalten.
Klicken Sie auf das Dropdown-Feld "Zugriffsschlüssel" und dann auf die Option "Neuen Zugriffsschlüssel erstellen".
Sobald Sie auf die Option „Neuen Zugriffsschlüssel erstellen“ klicken, wird der Schlüssel erstellt. Laden Sie den Schlüssel herunter, um AWS CLI auf einem Linux-Computer zu konfigurieren. Sie können den Schlüssel anzeigen, indem Sie „Zugriffsschlüssel anzeigen“ aktivieren.
In dieser Demonstration ist der Schlüssel,
- Zugriffsschlüssel-ID: AKIAV7XU2AIJBX4EYKUO
- Geheimer Zugriffsschlüssel: jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe
3. Installieren Sie AWS CLI
AWS CLI ist eine Befehlszeilenschnittstelle, die alle AWS-Services in einem einzigen Terminal zusammenführt, sodass Sie zahlreiche AWS-Services mit einem einzigen Tool betreiben können.
Verwenden Sie den folgenden curl
Befehl zum Herunterladen der Installationsdatei. Hier verwenden wir „CentOS Stream“, um AWS CLI zu installieren und zu konfigurieren.
[[email protected] ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
Entpacken Sie die Installationsdatei mit dem folgenden Befehl.
[[email protected] ~]# unzip awscliv2.zip
Installieren Sie AWS CLI mit dem folgenden Befehl.
[[email protected] ~]# ./aws/install
You can now run: /usr/local/bin/aws --version
Überprüfen Sie die Version mit dem oben genannten Befehl.
[[email protected] ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off
4. AWS CLI konfigurieren
Verwenden Sie den folgenden Befehl, um die AWS CLI zu konfigurieren. Es wird nach der Zugriffsschlüssel-ID und dem geheimen Zugriffsschlüssel gefragt, die wir in Abschnitt 2 generiert haben.
[[email protected] ~]# /usr/local/bin/aws configure AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO AWS Secret Access Key [None]: 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 Default region name [None]: Default output format [None]: [[email protected] ~]#
5. Installieren Sie Kubectl
Kubernetes kommuniziert mit dem Cluster-API-Server über das kubectl-Befehlszeilendienstprogramm.
Verwenden Sie den folgenden Curl-Befehl, um die von Amazon EKS angebotene kubectl-Binärdatei von Amazon S3 herunterzuladen.
[[email protected] ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
Fügen Sie der Binärdatei mit dem folgenden Befehl die Ausführungsberechtigung hinzu.
[[email protected] ~]# chmod +x ./kubectl
Kopieren Sie diese Binärdatei in den Ordner in Ihrem Pfad und exportieren Sie den $PATH
.
[[email protected] ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
Exportieren Sie den PATH nach ~/.bashrc
:
[[email protected] ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
Kubectl installiert ist, können Sie die Version mit dem folgenden Befehl überprüfen.
[[email protected] ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712
6. Konfigurieren Sie Kubectl
Im Moment weiß kubectl nicht, wo sich der EKS-Master-Knoten in AWS befindet. Wir müssen kubectl mitteilen, wo sich der Master-Server befindet, indem wir die Region angeben Name und Cluster r-Name.
Verwenden Sie den folgenden Befehl, um den Status des EKS-Clusters zu überprüfen.
[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status "ACTIVE"
Aktualisieren Sie die kubeconfig-Datei, um kubectl für die Interaktion mit dem EKS-Cluster zu verwenden. Es werden alle Konfigurationen vom Master-Knoten in die kubeconfig-Datei abgerufen.
[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config
Überprüfen Sie kubectl, indem Sie den Dienst mit dem folgenden Befehl überprüfen. Sie können sicherstellen, dass Kubectl eine Verbindung mit dem EKS-Cluster herstellen kann.
[[email protected] ~]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 105m
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man einen Amazon EKS-Cluster bereitstellt und wie man AWS CLI und Kubectl für den EKS-Cluster auf der Linux-Plattform einrichtet.
Ich habe den Kubernetes-Cluster erfolgreich in der AWS-Cloud bereitgestellt, was nun? Sie fragen sich vielleicht. Bitte lesen Sie unsere nächste Anleitung, um zu erfahren, wie Sie Knotengruppen hinzufügen und die Worker-Knoten im AWS EKS-Cluster konfigurieren.
- So fügen Sie Worker-Knoten zu Amazon EKS-Clustern hinzu