Compartir a través de


Creación de ReplicaSets

Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server

En este artículo se describe cómo crear, escalar y eliminar ReplicaSets en AKS habilitado por Azure Arc. Los conjuntos de réplicas se usan para asegurarse de que un conjunto estable de pods de réplica se ejecuta en un momento dado.

Información general sobre ReplicaSets

ReplicaSet es un proceso que ejecuta varias instancias de un pod y mantiene constante el número especificado de pods. Se asegura de que un conjunto estable de pods de réplica se ejecuta en un momento dado, lo que garantiza que haya un número especificado de pods idénticos disponibles.

Cuando se produce un error en un pod, un objeto ReplicaSet abre una nueva instancia del pod y se escala verticalmente cuando las instancias en ejecución alcanzan un número especificado. Por el contrario, reduce verticalmente o elimina pods cuando se crea una instancia con la misma etiqueta.

Creación de un objeto ReplicaSet

Utilice los comandos kubectl create y kubectl apply para crear los ReplicaSets. En el ejemplo siguiente se crea un objeto ReplicaSet mediante un archivo YAML:

kubectl apply –f nginx_replicaset.yaml

Las características de un archivo de configuración de ReplicaSet se muestran en 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

Después de crear un ReplicaSet, para ver el estado, ejecute el siguiente comando:

kubectl get rs

Puede quitar, pero no eliminar, un pod que administra un objeto ReplicaSet cambiando su etiqueta mediante el comando kubectl edit. Por ejemplo, si ejecuta kubectl edit pods 7677-69h5b, puede cambiar la etiqueta del pod una vez que se abra el archivo de configuración.

Escalado de un objeto ReplicaSet

Hay dos maneras de cambiar el número de pods que administra ReplicaSet.

  • Edite la configuración del controlador mediante el siguiente comando:

    kubectl edit rs <ReplicaSet_NAME>
    
  • Aumente o disminuya directamente el número mediante el siguiente comando:

kubectl scale –replicas=2 rs <ReplicaSet_NAME>

Al editar un archivo de manifiesto, puede reemplazar la configuración existente por la actualizada:

kubectl replace –f nginx_replicaset.yaml

Luego, para ver el estado de ReplicaSet, ejecute kubectl get rs <ReplicaSet_NAME>.

La escalabilidad automática también es una opción con ReplicaSets mediante kubectl autoscale rs web –max=5. La escalabilidad automática se puede usar para adaptar el número de pods según la carga de CPU de un nodo.

Eliminación de un ReplicaSet

Al igual que con otros objetos de Kubernetes, como DaemonSets, puede eliminar ReplicaSets mediante el kubectl delete comando . Por ejemplo, puede usar los siguientes comandos:

  • Para eliminar un objeto ReplicaSet mediante el nombre de ReplicaSet, ejecute el siguiente comando:

    kubectl delete rs <ReplicaSet_NAME>
    
  • Para eliminar un ReplicaSet mediante su nombre de archivo, ejecute el siguiente comando:

    kubectl delete –f nginx_replicaset.yaml
    
  • Los comandos anteriores eliminan replicaSet y todos los pods que administra. Si desea eliminar solo el recurso ReplicaSet y mantener los pods sin propietario, debe eliminarlos manualmente. Para eliminar manualmente un objeto ReplicaSet, ejecute el siguiente comando:

    kubectl delete rs <ReplicaSet_NAME> --cascade=false
    

Pasos siguientes