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