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

Erstellen Sie Ihre erste Bereitstellung in einem Kubernetes-Cluster

In diesem Artikel erfahren Sie, wie Sie Ihre erste Bereitstellung in einem Kubernetes-Cluster erstellen. Als Beispiel erstellen wir eine Bereitstellung für NginX.

Sobald wir einen laufenden Kubernetes-Cluster haben, können wir unsere containerisierten Anwendungen darauf bereitstellen. Wir können eine Kubernetes-Bereitstellungskonfiguration erstellen, um dies zu erreichen.

Eine Bereitstellung stellt deklarative Aktualisierungen für Pods und ReplicaSets bereit. Wir beschreiben einen gewünschten Zustand in der Bereitstellung und der Bereitstellung Controller ändert den tatsächlichen Zustand mit einer kontrollierten Rate in den gewünschten Zustand.

Wir können eine Bereitstellung mithilfe der Kubernetes-Befehlszeilenschnittstelle „kubectl“ erstellen und verwalten. Kubectl verwendet die Kubernetes-API, um mit dem Cluster zu interagieren.

Es gibt drei Phasen in einem Bereitstellungslebenszyklus:

  1. Fortschritt : Kubernetes markiert ein Deployment als Fortschritt, wenn das Deployment ein neues ReplicaSet erstellt, das Deployment sein neuestes ReplicaSet hochskaliert oder sein älteres ReplicaSet herunterskaliert oder neue Pods bereit oder verfügbar werden 
  2. Fertig : Kubernetes markiert ein Deployment als abgeschlossen, wenn alle mit dem Deployment verknüpften Replikate aktualisiert wurden, verfügbar sind und keine alten Replikate für das Deployment ausgeführt werden.
  3. Fehlgeschlagen : Dies kann aufgrund von unzureichendem Kontingent, Fehlern bei der Bereitschaftsprüfung, Image-Pull-Fehlern oder unzureichenden Berechtigungen auftreten.

Voraussetzungen

  1. AWS-Konto (erstellen, falls Sie noch keins haben)
  2. Ein Kubernetes-Cluster

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 eine Kubenetes-Bereitstellung für NginX

Erstellen Sie eine Kubenetes-Bereitstellung für NginX

Um unsere erste Bereitstellung zu erstellen, erstellen wir einfach ein neues Verzeichnis, um unsere Objekt-/Bereitstellungsdatei zu erstellen. Verwenden Sie den folgenden Befehl, um ein neues Verzeichnis in Ihrem System zu erstellen

mkdir meine-erste-bereitstellung
cd meine-erste-bereitstellung/

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

Um die im Cluster verfügbaren Knoten und die  Version der "kubectl " Verwenden Sie die folgenden Befehle.

sudo kubectl version
sudo kubectl erhält Knoten

Sobald Sie Knoten in Ihrem Cluster verfügbar haben, können Sie Ihre Bereitstellung erstellen.

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

vim meine-erste-bereitstellung.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Hier

  • apiVersion : APIVersion definiert das versionierte Schema dieser Darstellung eines Objekts.
  • Art :Art des Objekts, das Sie erstellen möchten, z. B. Deployment, Service, Configmap und mehr.
  • Name : Der Name muss innerhalb eines Namespace eindeutig sein.
  • Labels : Zuordnung von Zeichenfolgenschlüsseln und -werten, die zum Organisieren und Kategorisieren von Objekten verwendet werden können
  • Spezifikation : Spezifikation des gewünschten Verhaltens der Bereitstellung.
  • Repliken : Anzahl der gewünschten Pods.
  • Selektor :Labelauswahl für Pods. Bestehende ReplicaSets, deren Pods dadurch ausgewählt werden, sind von dieser Bereitstellung betroffen. Es muss mit den Bezeichnungen der Pod-Vorlage übereinstimmen.

Jetzt können Sie Ihre Bereitstellung mit den folgenden Befehlen erstellen.

sudo kubectl apply -f my-first-deployment.yml
sudo kubectl  Get Deployments

Im Screenshot oben sehen Sie, dass die Bereitstellung mit zwei verfügbaren Pods erstellt wurde.

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

sudo kubectl erhält Pods

Wenn Sie mehr über die Bereitstellung erfahren möchten, können Sie diesen „kubectl-describe“-Befehl verwenden, um die vollständigen Details der Bereitstellung abzurufen.

sudo kubectl ruft Deployments ab
sudo kubectl beschreiben  Deployments nginx-deployment

Wenn Sie das Deployment nicht mehr benötigen, können Sie es mit dem "kubectl delete command" löschen.

sudo kubectl  Bereitstellungen abrufen
sudo kubectl Bereitstellungen löschen nginx-Bereitstellung
sudo kubectl  Bereitstellungen abrufen

Im obigen Screenshot können Sie sehen, dass die Bereitstellung nicht mehr verfügbar ist, nachdem sie gelöscht wurde.

Sobald Sie die Bereitstellung löschen, werden auch die Pods gelöscht.

Sie können die Verfügbarkeit der Pods mit dem folgenden Befehl überprüfen.

sudo  kubectl  Pods abrufen

Im obigen Screenshot sehen Sie, dass die Pods nach dem Löschen der Bereitstellung gelöscht wurden und nicht verfügbar sind.

Schlussfolgerung

In diesem Artikel haben wir die Schritte zum Erstellen Ihrer ersten NginX-Bereitstellung auf Kubernetes gesehen. Wir haben auch gesehen, wie die Details zur Bereitstellung extrahiert werden können. Gleichzeitig haben wir die Befehle zum Löschen der Bereitstellung untersucht.


Linux
  1. Bereitstellen von MySQL auf Kubernetes {Leitfaden}

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

  3. Kubernetes-Cluster mit Rancher einrichten

  4. Erstellen Ihres ersten Docker-Windows-Server-Containers

  5. kubectl apply vs create:Welches zum Erstellen von Ressourcen in der Kubernetes-Clusterumgebung verwenden?

Erstellen eines einzelnen Kubernetes-Clusters auf Steuerungsebene mit kubeadm

Kubernetes-Cluster mit K3S mit Multipass von Canonical

Erstellen eines cPanel-Kontos

Bash-Anfängerserie Nr. 1:Erstellen Sie Ihr erstes Bash-Shell-Skript und führen Sie es aus

Vollständiger Leitfaden für Anfänger zur Kubernetes-Cluster-Bereitstellung auf CentOS (und anderen Linux)

Erstellen Sie schnell Ihre erste Website auf Cloud-Servern