Erstellen von ReplicaSets

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

In diesem Artikel wird beschrieben, wie Sie ReplicaSets in AKS erstellen, skalieren und löschen, die von Azure Arc aktiviert sind. ReplicaSets werden verwendet, um sicherzustellen, dass zu einem bestimmten Zeitpunkt eine stabile Gruppe von Replikatpods ausgeführt wird.

Übersicht über ReplicaSets

Ein ReplicaSet ist ein Prozess, bei dem mehrere Instanzen eines Pods ausgeführt werden und die angegebene Anzahl von Pods konstant gehalten wird. Hierdurch wird sichergestellt, dass jederzeit eine Gruppe stabiler Replikatpods ausgeführt wird, um die Verfügbarkeit einer angegebenen Anzahl identischer Pods zu gewährleisten.

Wenn ein Pod ausfällt, wird von einem ReplicaSet eine neue Instanz des Pods bereitgestellt und dann hochskaliert, wenn für die ausgeführten Instanzen eine angegebene Anzahl erreicht wird. Umgekehrt wird herunterskaliert, oder es werden Pods gelöscht, wenn eine Instanz mit der gleichen Bezeichnung erstellt wird.

Durchführen einer ReplicaSet-Erstellung

Verwenden Sie die Befehle kubectl create und kubectl apply für die Erstellung von ReplicaSets. Im folgenden Beispiel wird ein ReplicaSet mithilfe einer YAML-Datei erstellt:

kubectl apply –f nginx_replicaset.yaml

Die Features einer ReplicaSet-Konfigurationsdatei werden im YAML-Format angezeigt:

apiVersion: apps/v1  
kind: ReplicaSet  
metadata: 
      name: web
      labels: 
         env: dev
         role: web
spec:  
   replicas: 4
   selector: 
       matchlabels: 
       role: web
        template:
           metadata:
       labels:
           role: web
spec:  
      containers:  
           -name: nginx  
           image: nginx

Nachdem Sie ein ReplicaSet erstellt haben, können Sie den Status mit dem folgenden Befehl anzeigen:

kubectl get rs

Sie können einen Pod, der von einem ReplicaSet verwaltet wird, entfernen (aber nicht löschen), indem Sie seine Bezeichnung mit dem Befehl kubectl edit ändern. Wenn Sie beispielsweise kubectl edit pods 7677-69h5b ausführen, können Sie die Podbezeichnung ändern, nachdem die Konfigurationsdatei geöffnet wurde.

Durchführen einer ReplicaSet-Skalierung

Es gibt zwei Möglichkeiten, die Anzahl von Pods zu ändern, die von einem ReplicaSet verwaltet werden.

  • Bearbeiten Sie die Konfiguration des Controllers mit dem folgenden Befehl:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Erhöhen oder verkleinern Sie die Zahl direkt mit dem folgenden Befehl:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Wenn Sie eine Manifestdatei bearbeiten, können Sie Ihre vorhandene Konfiguration durch die aktualisierte Version ersetzen:

kubectl replace –f nginx_replicaset.yaml

Führen Sie anschließend kubectl get rs <ReplicaSet_NAME> aus, um den Status für Ihr ReplicaSet anzuzeigen.

Für ReplicaSets kann auch die automatische Skalierung genutzt werden, indem kubectl autoscale rs web –max=5 verwendet wird. Sie können die automatische Skalierung nutzen, um die Anzahl von Pods gemäß der CPU-Auslastung eines Knotens anzupassen.

Durchführen einer ReplicaSet-Löschung

Wie bei anderen Kubernetes-Objekten, z. B. DaemonSets, können Sie ReplicaSets mithilfe des kubectl delete Befehls löschen. Sie können beispielsweise die folgenden Befehle verwenden:

  • Um ein ReplicaSet mit dem Namen ReplicaSet zu löschen, führen Sie den folgenden Befehl aus:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Um ein ReplicaSet mit seinem Dateinamen zu löschen, führen Sie den folgenden Befehl aus:

    kubectl delete –f nginx_replicaset.yaml
    
  • Mit den obigen Befehlen werden das ReplicaSet und alle verwalteten Pods gelöscht. Wenn Sie nur die ReplicaSet-Ressource löschen und die Pods ohne Besitzer behalten möchten, müssen Sie sie manuell löschen. Führen Sie den folgenden Befehl aus, um ein ReplicaSet manuell zu löschen:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Nächste Schritte