Creare set di repliche
Si applica a: AKS di Azure su Azure Local 22H2, AKS di Azure su Windows Server
Questo articolo descrive come creare, ridimensionare ed eliminare i set di repliche nel servizio Azure Kubernetes abilitati da Azure Arc. I set di repliche vengono usati per garantire che un set stabile di pod di replica sia in esecuzione in qualsiasi momento.
Panoramica di ReplicaSet
Un oggetto ReplicaSet è un processo che esegue più istanze di un pod e mantiene costante il numero specificato di pod. Assicura che un set stabile di pod di replica sia in esecuzione in qualsiasi momento, che garantisce un numero specificato di pod identici disponibile.
Quando un pod ha esito negativo, un oggetto ReplicaSet attiva una nuova istanza del pod e aumenta le prestazioni quando le istanze in esecuzione raggiungono un numero specificato. Al contrario, riduce o elimina i pod quando viene creata un'istanza con la stessa etichetta.
Creare un set di repliche
Usare i kubectl create
comandi e kubectl apply
per creare i set di repliche. Nell'esempio seguente viene creato un oggetto ReplicaSet usando un file YAML:
kubectl apply –f nginx_replicaset.yaml
Le funzionalità di un file di configurazione ReplicaSet sono visualizzate in formato YAML:
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
Dopo aver creato un oggetto ReplicaSet, è possibile visualizzare lo stato eseguendo il comando seguente:
kubectl get rs
È possibile rimuovere, ma non eliminare, un pod gestito da un Oggetto ReplicaSet modificandone l'etichetta usando il kubectl edit
comando . Ad esempio, se si esegue kubectl edit pods 7677-69h5b
, è possibile modificare l'etichetta del pod dopo l'apertura del file di configurazione.
Ridimensionare un set di repliche
Esistono due modi per modificare il numero di pod gestiti da un oggetto ReplicaSet.
Modificare la configurazione del controller usando il comando seguente:
kubectl edit rs <ReplicaSet_NAME>
Aumentare o ridurre direttamente il numero usando il comando seguente:
kubectl scale –replicas=2 rs <ReplicaSet_NAME>
Quando si modifica un file manifesto, è possibile sostituire la configurazione esistente con quella aggiornata:
kubectl replace –f nginx_replicaset.yaml
Quindi, per visualizzare lo stato di ReplicaSet, eseguire kubectl get rs <ReplicaSet_NAME>
.
La scalabilità automatica è anche un'opzione con ReplicaSet che usano kubectl autoscale rs web –max=5
. È possibile usare la scalabilità automatica per adattare il numero di pod in base al carico della CPU di un nodo.
Eliminare un set di repliche
Come con altri oggetti Kubernetes, ad esempio DaemonSets, è possibile eliminare ReplicaSet usando il kubectl delete
comando . Ad esempio, è possibile usare i comandi seguenti:
Per eliminare un oggetto ReplicaSet usando il nome replicaSet, eseguire il comando seguente:
kubectl delete rs <ReplicaSet_NAME>
Per eliminare un oggetto ReplicaSet usando il nome del file, eseguire il comando seguente:
kubectl delete –f nginx_replicaset.yaml
I comandi precedenti eliminano ReplicaSet e tutti i pod gestiti. Se si vuole eliminare solo la risorsa ReplicaSet e mantenere i pod senza proprietario, è necessario eliminarli manualmente. Per eliminare manualmente un oggetto ReplicaSet, eseguire il comando seguente:
kubectl delete rs <ReplicaSet_NAME> --cascade=false