Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
¿Cómo puedo comprobar, escalar, eliminar o vaciar mis nodos de trabajo en Amazon EKS?
He utilizado eksctl o la Consola de administración de AWS para iniciar mis nodos de trabajo de Amazon Elastic Kubernetes Service (Amazon EKS). Ahora quiero comprobar, escalar, vaciar o eliminar mis nodos de trabajo.
Solución
Comprobación de los nodos de trabajo
Para generar un listado de los nodos de trabajo registrados en el plano de control de Amazon EKS, ejecute el siguiente comando:
kubectl get nodes -o wide
El resultado devuelve el nombre, la versión de Kubernetes, el sistema operativo (SO) y la dirección IP de los nodos de trabajo.
Para obtener información adicional sobre un único nodo de trabajo, ejecute el siguiente comando:
kubectl describe node/node_name
Nota: Sustituya node_name por su valor, por ejemplo: ip-XX-XX-XX-XX.us-east-1.compute.internal.
El resultado muestra más información sobre el nodo de trabajo, incluidas las etiquetas, los taints, la información del sistema y el estado.
Amplíe sus nodos de trabajo
Nota: Si sus grupos de nodos aparecen en la consola de Amazon EKS, utilice un grupo de nodos administrado. De lo contrario, utilice un grupo de nodos no administrado.
Utilice uno de los siguientes métodos para escalar los nodos de trabajo.
Escalado de nodos de trabajo con eksctl
Para utilizar eksctl para escalar sus nodos de trabajo, administrados o no, ejecute el siguiente comando:
eksctl scale nodegroup --cluster=clusterName --nodes=desiredCount --name=nodegroupName
Nota: Sustituya clusterName, desiredCount y nodegroupName por sus valores.
Escalado de nodos de trabajo sin eksctl
Para escalar sus nodos de trabajo administrados sin eksctl, edite la configuración del grupo de nodos.
Escalado de nodos de trabajo con CloudFormation
Para escalar sus nodos de trabajo no administrados mediante AWS CloudFormation, siga estos pasos:
- Utilice una plantilla de CloudFormation para iniciar sus nodos de trabajo para Windows o Linux.
- Modifique los parámetros NodeAutoScalingGroupDesiredCapacity, NodeAutoScalingGroupMinSize o NodeAutoScalingGroupMaxSize en su pila de CloudFormation.
Vaciado de nodos de trabajo
Importante: La acción de vaciado aísla el nodo de trabajo, y Kubernetes deja de programar nuevos pods en el nodo. Los pods que se ejecutan en el nodo de destino se eliminan de los nodos de vaciado y se detienen.
Puede vaciar un grupo de nodos completo o un solo nodo de trabajo.
Vaciado de todo el grupo de nodos
Si usa eksctl para lanzar sus nodos de trabajo, ejecute el siguiente comando:
eksctl drain nodegroup --cluster=clusterName --name=nodegroupName
Nota: Sustituya clusterName y nodegroupName por sus valores.
Para vaciar el grupo de nodos, ejecute el siguiente comando:
eksctl drain nodegroup --cluster=clusterName --name=nodegroupName --undo
Nota: Sustituya clusterName y nodegroupName por sus valores.
Si no usa eksctl para iniciar sus nodos de trabajo, identifique y vacíe todos los nodos de una versión concreta de Kubernetes. Por ejemplo:
#!/bin/bash K8S_VERSION=1.18.8-eks-7c9bda nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Draining $node" kubectl drain $node --ignore-daemonsets --delete-local-data done
Para identificar y vaciar todos los nodos de una versión concreta de Kubernetes, use el siguiente código:
#!/bin/bash K8S_VERSION=1.18.8-eks-7c9bda nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Uncordon $node" kubectl uncordon $node done
Nota: Para obtener la versión de su nodo de trabajo, ejecute el siguiente comando. El número de versión aparece en la columna VERSION:
$ kubectl get nodesNAME STATUS ROLES AGE VERSION ip-XXX-XXX-XX-XXX.ec2.internal Ready <none> 6d4h v1.18.8-eks-7c9bda ip-XXX-XXX-XX-XXX.ec2.internal Ready <none> 6d4h v1.18.8-eks-7c9bda
Vaciado de un único nodo de trabajo
Si no usa eksctl para iniciar sus nodos de trabajo o solo quiere vaciar un nodo concreto, aísle debidamente su nodo de trabajo:
kubectl drain node_name --ignore-daemonsets
**Nota:**Sustituya node_name por su valor.
Para deshacer el aislamiento, ejecute el siguiente comando:
kubectl uncordon node_name
**Nota:**Sustituya node_name por su valor.
Para migrar sus aplicaciones existentes a un nuevo grupo de nodos de trabajo, consulte Migración a un nuevo grupo de nodos.
Elimine sus nodos de trabajo
Importante: La acción de eliminación es irrecuperable.
Si usa eksctl, ejecute el siguiente comando:
eksctl delete nodegroup --cluster=clusterName --name=nodegroupName
Si tiene un grupo de nodos administrado, siga los pasos que se indican en Eliminación de un grupo de nodos administrado de un clúster.
Si tiene un grupo de nodos no administrado y ha usado una plantilla de CloudFormation para iniciar los nodos de trabajo, elimine la pila. Debe eliminar la pila que creó para su grupo de nodos para Windows o Linux.
Si tiene un grupo de nodos no administrado y no ha usado una plantilla de CloudFormation para iniciar sus nodos de trabajo, elimine el grupo de escalamiento automático. Si no ha usado un grupo de escalamiento automático, termine la instancia directamente.

Contenido relevante
- preguntada hace 2 meseslg...
- preguntada hace 2 meseslg...
- preguntada hace 2 meseslg...
- preguntada hace 5 meseslg...
- preguntada hace 3 meseslg...
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 8 meses