Delen via


ReplicaSets maken

Van toepassing op: AKS in Azure Local 22H2, AKS op Windows Server

In dit artikel wordt beschreven hoe u ReplicaSets maakt, schaalt en verwijdert in AKS die is ingeschakeld door Azure Arc. ReplicaSets worden gebruikt om ervoor te zorgen dat een stabiele set replicapods op elk gewenst moment wordt uitgevoerd.

Overzicht van ReplicaSets

Een ReplicaSet is een proces dat meerdere exemplaren van een pod uitvoert en het opgegeven aantal pods constant houdt. Het zorgt ervoor dat een stabiele set replicapods op elk gewenst moment wordt uitgevoerd, wat een beschikbaar opgegeven aantal identieke pods garandeert.

Wanneer een pod mislukt, wordt met een ReplicaSet een nieuw exemplaar van de pod weergegeven en opgeschaald wanneer de actieve exemplaren een opgegeven getal bereiken. Omgekeerd worden pods omlaag geschaald of verwijderd wanneer een exemplaar met hetzelfde label wordt gemaakt.

Een ReplicaSet maken

Gebruik de kubectl create en kubectl apply opdrachten om ReplicaSets te maken. In het volgende voorbeeld wordt een ReplicaSet gemaakt met behulp van een YAML-bestand:

kubectl apply –f nginx_replicaset.yaml

De functies van een ReplicaSet-configuratiebestand worden weergegeven in YAML-indeling:

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

Nadat u een ReplicaSet hebt gemaakt, kunt u de status bekijken door de volgende opdracht uit te voeren:

kubectl get rs

U kunt een pod verwijderen die door een ReplicaSet wordt beheerd, maar niet verwijderen door het label te wijzigen met behulp van de kubectl edit opdracht. Als u bijvoorbeeld uitvoert kubectl edit pods 7677-69h5b, kunt u het podlabel wijzigen zodra het configuratiebestand wordt geopend.

Een replicaset schalen

Er zijn twee manieren om het aantal pods te wijzigen dat door een ReplicaSet wordt beheerd.

  • Bewerk de configuratie van de controller met behulp van de volgende opdracht:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Verhoog of verklein het aantal rechtstreeks met behulp van de volgende opdracht:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Wanneer u een manifestbestand bewerkt, kunt u uw bestaande configuratie vervangen door de bijgewerkte configuratie:

kubectl replace –f nginx_replicaset.yaml

Voer vervolgens de status van uw ReplicaSet uit om de status van uw ReplicaSet weer te geven kubectl get rs <ReplicaSet_NAME>.

Automatische schaalaanpassing is ook een optie met ReplicaSets met behulp van kubectl autoscale rs web –max=5. U kunt automatisch schalen gebruiken om het aantal pods aan te passen op basis van de CPU-belasting van een knooppunt.

Een replicaset verwijderen

Net als bij andere Kubernetes-objecten, zoals DaemonSets, kunt u ReplicaSets verwijderen met behulp van de kubectl delete opdracht. U kunt bijvoorbeeld de volgende opdrachten gebruiken:

  • Als u een ReplicaSet wilt verwijderen met de naam ReplicaSet, voert u de volgende opdracht uit:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Als u een ReplicaSet wilt verwijderen met de bestandsnaam, voert u de volgende opdracht uit:

    kubectl delete –f nginx_replicaset.yaml
    
  • Met de voorgaande opdrachten verwijdert u de ReplicaSet en alle pods die worden beheerd. Als u alleen de ReplicaSet-resource wilt verwijderen en de pods wilt behouden zonder eigenaar, moet u deze handmatig verwijderen. Als u een ReplicaSet handmatig wilt verwijderen, voert u de volgende opdracht uit:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Volgende stappen