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

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

In diesem Artikel erfahren Sie, wie Sie unseren ersten Pod im Kubernetes-Cluster erstellen. Wir werden die Schritte zum Erstellen eines Pods für Nginx sehen.

Ein Pod ist die grundlegende Ausführungseinheit einer Kubernetes-Anwendung. Es ist eine Sammlung von Containern, die zusammen auf demselben Host bereitgestellt werden. Pods in einem Kubernetes-Cluster können auf zwei Arten verwendet werden:

  1. Pods, die einen einzelnen Container ausführen: Dies ist die beliebteste Art, einen Pod zu verwenden. Kubernetes verwaltet die Pods, anstatt die Container direkt zu verwalten.
  2. Pods, die mehrere Container ausführen, die zusammenarbeiten müssen: Bei diesem Modell kann ein Pod mehrere Container haben, die eng miteinander verbunden sind, um Ressourcen gemeinsam zu nutzen.

Wie oben erwähnt, dass ein Pod mehrere Container enthalten kann, wird immer empfohlen, wenn möglich einen einzigen Container zu haben. Das Gruppieren mehrerer Container in einem einzigen Pod ist ein relativ fortgeschrittener Anwendungsfall. Sie sollten dieses Muster nur in bestimmten Fällen verwenden, in denen Ihre Container eng gekoppelt sind.

Wenn wir einen einzelnen Container bereitstellen, können wir im Allgemeinen das Wort „Pod“ durch „Container“ ersetzen. Pods ermöglichen den Datenaustausch und die Kommunikation zwischen ihren Bestandteilen.

Ein Pod wird immer auf einem Knoten ausgeführt. Ein Knoten ist eine Arbeitsmaschine in Kubernetes und kann je nach Cluster entweder eine virtuelle oder eine physische Maschine sein. Jeder Knoten wird vom Master verwaltet. Ein Knoten kann mehrere Pods haben, und der Kubernetes-Master übernimmt automatisch die Planung der Pods über die Knoten im Cluster hinweg.

Die 5 Phasen in einem Pod-Lebenszyklus

  1. Ausstehend : Der Pod wurde vom Kubernetes-System akzeptiert, aber mindestens eines der Container-Images wurde nicht erstellt. Dies umfasst die Zeit vor der Planung sowie die Zeit, die für das Herunterladen von Bildern über das Netzwerk aufgewendet wird, was eine Weile dauern kann.
  2. Wird ausgeführt :Der Pod wurde an einen Knoten gebunden und alle Container wurden erstellt. Mindestens ein Container läuft noch oder wird gerade gestartet oder neu gestartet.
  3. Erfolgreich : Alle Container im Pod wurden erfolgreich beendet und werden nicht neu gestartet.
  4. Fehlgeschlagen : Alle Container im Pod wurden beendet und mindestens ein Container wurde fehlgeschlagen. Das heißt, der Container wurde entweder mit einem Nicht-Null-Status beendet oder vom System beendet.
  5. Unbekannt : Aus irgendeinem Grund konnte der Status des Pods nicht abgerufen werden, normalerweise aufgrund eines Fehlers bei der Kommunikation mit dem Host des Pods.

Voraussetzungen

  1. AWS-Konto (erstellen, falls Sie noch keins haben)
  2. Kubernetes-Cluster (Suchen Sie nach „Setup a Kubernetes Cluster on AWS EC2 Instance Ubuntu 18.04 LTS using kubeadm“, wenn Sie lernen möchten, wie man einen Kubernetes-Cluster erstellt).

Hinweis:Sie können auch VMs verwenden, um einen Cluster zu erstellen, wenn Sie keine AWS EC2-Instanzen ausprobieren möchten.

Was wir tun werden

  1. Erstellen Sie einen Kubernetes-Pod für NginX und löschen Sie ihn

Erstellen Sie einen Kubernetes-Pod für Nginx

Um unseren ersten Pod zu erstellen, erstellen wir einfach ein neues Verzeichnis, um unsere Objekt-/Pod-Datei zu erstellen. Verwenden Sie den folgenden Befehl, um ein neues Verzeichnis in Ihrem System zu erstellen

mkdir mein-erster-pod
cd mein-erster-pod/

Bevor Sie fortfahren, überprüfen Sie den Status des Clusters.

Zum Überprüfen der im Cluster verfügbaren Knoten und zum Überprüfen der Version von „kubectl " Verwenden Sie die folgenden Befehle.

sudo kubectl erhält Knoten
sudo kubectl-Version

Verwenden Sie den folgenden Befehl, um die Pods im Standard-Namespace aufzulisten. Da dies unser erster Pod im Cluster sein wird, sehen Sie keinen Pod im Standard-Namespace.

sudo kubectl erhält Pods

Sobald Sie Knoten im Cluster verfügbar haben, können Sie Ihren ersten Pod erstellen.

Erstellen Sie eine Datei "my-first-pod.yml" mit dem folgenden Codeblock

vim mein-erster-pod.yml

---
apiVersion: v1
kind: Pod
metadata:
  name: myfirstpod
  labels:
    app: web
spec:
  containers:
    - name: myfirstcontainer
      image: nginx
      ports:
        - containerPort: 80

Hier

  • apiVersion :APIVersion definiert das versionierte Schema dieser Repräsentation eines Objekts.
  • art :Art des Objekts, das Sie erstellen möchten. Hier ist es Pod, da wir gerade einen Pod erstellen.
  • Name :Name muss innerhalb eines Namensraums eindeutig sein.
  • Etiketten :Karte von Zeichenfolgenschlüsseln und -werten, die zum Organisieren und Kategorisieren von Objekten verwendet werden können
  • Spezifikation :Spezifikation des gewünschten Verhaltens des Pods.

Jetzt können Sie Ihren Pod mit den folgenden Befehlen erstellen.

sudo kubectl apply -f my-first-pod.yml 

Sie können die Details der Pods mit dem folgenden Befehl abrufen.

sudo kubectl erhält Pods

Führen Sie den folgenden Befehl aus, um zu bestätigen, ob der Pod tatsächlich ausgeführt wird. Dies führt einen Befehl in unserem Pod aus (Hinweis:Es ähnelt dem Ausführen von docker exec .)

sudo kubectl exec myfirstpod – Nginx-Status des Dienstes

Wenn Sie den Pod nicht mehr benötigen, können Sie ihn mit dem „kubectl delete command“ löschen.

sudo kubectl Pods löschen myfirstpod

Verwenden Sie zum Schluss den folgenden Befehl, um zu überprüfen, ob der Pod gelöscht wurde.

sudo kubectl erhält Pods

Schlussfolgerung

In diesem Artikel haben wir grundlegende Dinge über die Pods und ihre Lebenszyklusphasen gelernt. Wir haben die Schritte zur Erstellung unseres ersten Nginx-Pods auf Kubernetes gesehen. Wir haben auch gesehen, wie die Details zum Pod extrahiert werden können. Gleichzeitig haben wir den Befehl zum Löschen des Pods untersucht.


Linux
  1. So stellen Sie Redis-Cluster auf Kubernetes bereit

  2. So führen Sie MongoDB auf Kubernetes aus

  3. So stellen Sie RabbitMQ auf Kubernetes bereit

  4. So stellen Sie PostgreSQL auf Kubernetes bereit

  5. So erstellen Sie Ihre Plesk-Site

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

So erstellen und verwalten Sie Kubernetes-Pods unter Linux

So erstellen Sie Ihr erstes Java-Programm unter CentOS 8

So erstellen Sie Ihr erstes Java-Programm in Debian 10

So stellen Sie CouchDB als Cluster mit Docker bereit

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