GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So stellen Sie Kubernetes-Cluster auf AWS mit Amazon EKS bereit

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

Linux
  1. So richten Sie einen Kubernetes-Cluster mit Rancher ein

  2. So stellen Sie Redis-Cluster auf Kubernetes bereit

  3. So überwachen Sie den freien Speicherplatz bei Amazon EC2 mit Cloud Watch

  4. So stellen Sie Ihren ersten Pod in einem Kubernetes-Cluster bereit

  5. Kubernetes-Cluster mit Rancher einrichten

So erstellen Sie einen Kubernetes-Cluster mit AWS CLI

So fügen Sie Worker-Knoten zu Amazon EKS-Clustern hinzu

So stellen Sie Single Node Kubernetes mit Microk8s auf Ubuntu 20.04 bereit

So stellen Sie Docker Compose Stacks mit Kompose in Kubernetes bereit

So stellen Sie CouchDB als Cluster mit Docker bereit

So stellen Sie einen Dienst in einem Docker Swarm-Cluster bereit