Freigeben über


Erstellen von Bereitstellungen

Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server

Dieser Artikel bietet eine Übersicht über Kubernetes-Bereitstellungen und beschreibt, wie Sie Bereitstellungen in AKS erstellen und aktualisieren, die von Azure Arc aktiviert sind.

Übersicht über Kubernetes-Bereitstellungen

Eine Bereitstellung verweist auf ein Kubernetes-Objekt, das die Leistung verwaltet und das gewünschte Verhalten eines Pods angibt. Sie gibt den Lebenszyklus der Anwendung an, einschließlich der Pods, die der Anwendung zugewiesen sind. Eine Bereitstellung bietet eine Möglichkeit, Ihren gewünschten Zustand für Ihre Anwendung zu kommunizieren, und der Controller arbeitet daran, den aktuellen Zustand in den gewünschten Zustand zu ändern.

Bereitstellungen automatisieren den Prozess zum Starten von Pod-Instanzen und stellen sicher, dass sie wie definiert auf allen Knoten innerhalb des Clusters ausgeführt werden. Administratoren und IT-Experten verwenden Bereitstellungen, um zu kommunizieren, was sie von einer Anwendung wünschen, und kubernetes führt dann alle erforderlichen Schritte aus, um den gewünschten Zustand der Anwendung zu erstellen.

Während die Bereitstellungen festlegen, wie Ihre Anwendungen ausgeführt werden, garantieren sie nicht, wo sich Ihre Anwendungen innerhalb Ihres Clusters befinden. Wenn Ihre Anwendung beispielsweise eine instance eines Pods auf jedem Knoten erfordert, möchten Sie ein DaemonSet verwenden. Ein StatefulSet bietet eindeutige Netzwerkbezeichner, persistenten Speicher und eine geordnete Bereitstellung/Skalierung für zustandsbehaftete Anwendungen.

Das Kubernetes-Bereitstellungsobjekt ermöglicht Folgendes:

  • Stellen Sie eine Replikatmenge oder einen Pod bereit.
  • Skalieren Sie die Anzahl der Instanzen einer Anwendung nach oben oder unten.
  • Aktualisieren Sie alle ausgeführten instance einer Anwendung.
  • Führen Sie ein Rollback aller ausgeführten Instanzen einer Anwendung auf eine andere Version durch.
  • Anhalten oder Fortsetzen einer Bereitstellung

Weitere Informationen finden Sie unter Kubernetes-Bereitstellungen.

Erstellen einer Bereitstellung

Um eine Bereitstellung zu erstellen, können Sie die Befehle kubectl apply oder kubectl create verwenden. Da die erforderliche Anzahl von Pods verwaltet und überwacht wird, werden sie ausgeführt und sind verfügbar, nachdem die Bereitstellung erstellt wurde. Wenn ein Pod ausfällt, führt Kubernetes sofort ein Replikat des Pods ein, das dessen Platz im Cluster übernimmt.

Im folgenden Beispiel werden die Features einer Bereitstellungsmanifestdatei im YAML-Format beschrieben:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - image: nginx
          name: nginx
          ports:
            - containerPort: 80

Führen Sie den folgenden Befehl aus, um die Bereitstellung, die Replikatgruppe und die Pods anzuzeigen:

kubectl get deployment, replicaset, pod

Aktualisieren einer Bereitstellung

Der Standard Vorteil von Bereitstellungen ist die Möglichkeit, Ihr Kubernetes-Programm automatisch zu aktualisieren. Ohne Bereitstellungen müssten Sie alle alten Pods manuell beenden, neue Podversionen starten und eine Überprüfung ausführen, um festzustellen, ob beim Erstellen von Pods Probleme auftreten. Sie können kubectl describe deployment ausführen, um die Reihenfolge anzuzeigen, in der die Pods hochgebracht und entfernt wurden.

Bereitstellungen automatisieren den Updateprozess, da Sie einfach die Podvorlage oder den gewünschten Zustand aktualisieren. Die Bereitstellung ändert den Programmstatus mit Aktionen wie dem Erstellen neuer Pods oder dem Zuordnen weiterer Ressourcen im Hintergrund, bis das ausgewählte Update vorhanden ist.

Wenn bei der Bereitstellung Probleme auftreten, führt Kubernetes automatisch ein Zurücksetzen auf die vorherige Version aus. Sie können auch mit dem Befehl kubectl rollout undo explizit ein Zurücksetzen auf eine bestimmte Version ausführen, oder Sie können kubectl rollout pause verwenden, um eine Bereitstellung vorübergehend anzuhalten.

Strategien zum Aktualisieren von Bereitstellungen

Kubernetes bietet mehrere Bereitstellungsstrategien, sodass Sie auf verschiedene Weisen aktualisieren können, um die Anforderungen Ihrer Umgebung zu erfüllen. Die drei häufigsten Aktualisierungsstrategien sind:

  • Paralleles Update: Dieses Update ist ein schrittweiser Prozess, mit dem Sie Ihr Kubernetes-System nur mit geringfügigen Auswirkungen auf die Leistung und ohne Ausfallzeiten aktualisieren können. Dadurch werden Ausfallzeiten auf Kosten der Aktualisierungsgeschwindigkeit minimiert.
  • Neuerstellung: Diese Strategie ist ein Alles-oder-Nichts-Prozess, mit dem Sie alle Aspekte des Systems mit einer kurzen Ausfallzeit gleichzeitig aktualisieren können. Es wird schnell aktualisiert, führt aber zu Ausfallzeiten.
  • Canary: Diese Strategie ist ein Teilaktualisierungsprozess, mit dem Sie Ihre neue Programmversion auf echten Benutzern testen können, ohne sich zu einer vollständigen Einführung verpflichten zu müssen. Es wird für einige ausgewählte Benutzer mit einer späteren vollständigen Einführung schnell aktualisiert.

Nächste Schritte