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

So erstellen Sie eine Bereitstellung in Kubernetes

Bereitstellungen stellen eine Reihe identischer Pods dar. Eine Bereitstellung führt mehrere Kopien der Anwendung aus. Fehlerhafte Instanzen werden automatisch ersetzt. Es hilft sicherzustellen, dass eine oder mehrere Instanzen der Anwendung immer betriebsbereit sind. Bereitstellungen werden vom Kubernetes Deployment Controller verwaltet. Bereitstellungen verwenden eine Pod-Vorlage, die eine Spezifikation für ihre Pods enthält.

Eine Kubernetes-Bereitstellung ist ein Ressourcenobjekt in Kubernetes, das deklarative Updates für Anwendungen bereitstellt.

Weitere Informationen zu Bereitstellungsspezifikationen finden Sie in der Kubernetes-API-Dokumentation

In diesem Artikel erfahren Sie, wie Sie eine Bereitstellung in Kubernetes erstellen und Vorgänge darauf ausführen.

Voraussetzungen

Kubernetes-Cluster mit mindestens 1 Worker-Knoten.
Wenn Sie erfahren möchten, wie Sie einen Kubernetes-Cluster erstellen, klicken Sie hier. Dieser Leitfaden hilft Ihnen beim Erstellen eines Kubernetes-Clusters mit 1 Master und 2 Knoten auf AWS Ubuntu 18l04 EC2-Instances.

Was wir tun werden

Erstellen Sie eine Bereitstellung

Eine Bereitstellung erstellen

Erstellen Sie eine Datei und fügen Sie ihr die folgende Bereitstellungsdefinition hinzu.

vim my-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: httpd-frontend
  name: httpd-frontend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: httpd-frontend
  template:
    metadata:
      labels:
        app: httpd-frontend
    spec:
      containers:
      - image: httpd:2.4-alpine
        name: httpd



In diesem Beispiel:

  • Ein Deployment namens httpd-frontend wird erstellt, angezeigt durch metadata: name Feld.
  • Die Bereitstellung erstellt 1 Replikat des Pods, angegeben durch replicas Feld.
  • Die Pod-Vorlage oder spec: template Feld gibt an, dass seine Pods mit app: httpd-frontend gekennzeichnet sind .
  • Die Spezifikation der Pod-Vorlage oder template: spec Feld gibt an, dass die Pods einen Container ausführen, httpd, der das httpd: Image in Version 2.4-alpine ausführt.

Verwenden Sie den folgenden Befehl, um eine Bereitstellung zu erstellen

kubectl create -f my-deployment.yaml

Nachdem Sie eine Bereitstellung erstellt haben, können Sie ihre Details mit dem folgenden Befehl abrufen.

kubectl get deployment | grep httpd-frontend

Die Bereitstellung hat einen Replikatsatz erstellt, um ihn aufzulisten, verwenden Sie den folgenden Befehl.

kubectl get replicaset | grep httpd-frontend

Vom Replikatsatz erstellte Pods können mit dem folgenden Befehl aufgelistet werden, der die Pods auflistet, die mit dem angegebenen Namen übereinstimmen.


kubectl get pods | grep httpd-frontend

Jetzt können Sie die automatische Erstellung des Pods testen, wenn der vorhandene fehlschlägt, indem Sie ihn löschen.

Verwenden Sie die folgenden Befehle, um den vorhandenen Pod zu löschen.


kubectl get pods | grep httpd-frontend
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
kubectl get pods | grep httpd-frontend

Im Screenshot oben sehen Sie, dass der Pod nach dem Löschen des vorhandenen Pods erstellt wurde.

Jetzt wird der Replikatsatz selbst dann erstellt, wenn er gelöscht wird.

Um dies zu testen, löschen Sie den Replikatsatz mit dem folgenden Befehl.


kubectl get replicaset | grep httpd-frontend
kubectl delete replicaset httpd-frontend-74fd6fd8cd
kubectl get replicaset | grep httpd-frontend

Im obigen Screenshot können Sie sehen, dass das Replikat-Set auch nach dem Löschen erstellt wurde.

Um etwas mehr Informationen über den Pod anzuzeigen, kann "-o wide" wie folgt im Befehl verwendet werden.

kubectl get pods | grep httpd-frontend
kubectl get pods -o wide | grep httpd-frontend

Um die vollständigen Informationen des Pods zu erhalten, kann dieser mit dem folgenden Befehl beschrieben werden.

kubectl describe pod httpd-frontend

Wenn Sie Ihre Anwendung jetzt nicht mehr mithilfe der Bereitstellung bereitstellen müssen, können Sie sie löschen, indem Sie die Bereitstellung löschen.

Verwenden Sie die folgenden Befehle, um die Bereitstellung zu löschen.

kubectl get deployment | grep httpd-frontend
kubectl delete deployment httpd-frontend
kubectl get deployment | grep httpd-frontend

Im obigen Screenshot können Sie sehen, dass die Bereitstellung nach dem Löschen nicht erstellt wurde. Aber wenn Sie den Pod oder das Replikatset löschen, die im Rahmen der Bereitstellung erstellt wurden, werden sie erstellt.

Schlussfolgerung

In diesem Artikel haben wir gelernt, wie man ein Deployment erstellt und den Löschvorgang für Pod, Replicaset und Deployment ausprobiert.


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

  2. So erstellen Sie eine Subdomain

  3. So löschen Sie eine Kubernetes-Bereitstellung [Schnelle K8s-Tipps]

  4. So löschen Sie einen Dienst in Kubernetes

  5. So erstellen Sie einen Link zu einem Verzeichnis

So erstellen Sie eine Tar-Gz-Datei

So erstellen Sie ein Terraform-Modul

So erstellen Sie ein StatefulSet in Kubernetes

Erstellen Sie Ihre erste Bereitstellung in einem Kubernetes-Cluster

So erstellen Sie einen Kubernetes-Cluster mit AWS CLI

So erstellen und verwalten Sie Kubernetes-Pods unter Linux