Erstellen von ReplicaSets
Gilt für: AKS auf Azure Local 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 Replikat-Pods 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 mithilfe des folgenden Befehls:
kubectl edit rs <ReplicaSet_NAME>
Erhöhen oder verkleinern Sie die Zahl direkt mithilfe des folgenden Befehls:
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 mit dem kubectl delete
Befehl löschen. Sie können beispielsweise die folgenden Befehle verwenden:
Führen Sie den folgenden Befehl aus, um ein ReplicaSet-Element mit dem Namen "ReplicaSet" zu löschen:
kubectl delete rs <ReplicaSet_NAME>
Führen Sie den folgenden Befehl aus, um ein ReplicaSet mit dem Dateinamen zu löschen:
kubectl delete –f nginx_replicaset.yaml
Die vorherigen Befehle löschen das ReplicaSet und alle von ihm verwalteten Pods. Wenn Sie nur die ReplicaSet-Ressource löschen und die Pods ohne Besitzer beibehalten 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