Actualmente tengo una aplicación de Kubernetes que usa AWS EKS. También creé un grupo de nodos; inicialmente aprovisioné una capacidad de instancia baja en ese grupo de nodos solo puede manejar 4 pods. Cuando traté de implementar una actualización en mis implementaciones, se produjo un error de pods insuficientes, esto se debe principalmente al tipo de instancia de capacidad insuficiente que aprovisioné inicialmente. Mi pregunta, ¿es posible actualizar el tipo de instancia de nodeGroup en vivo?
Sin embargo, resolví el problema creando un grupo de nodos adicional con un tipo de instancia ampliado. Me pregunto si es posible editar el tipo de instancia de grupo de nodos en vivo para ampliarlo.
Los tipos de instancias de grupos de nodos de EKS no se pueden cambiar después de la creación. Deberá crear un nuevo grupo de nodos cada vez que desee un nuevo tipo de instancia.
El tipo de instancia se puede cambiar aplicando una nueva versión de la plantilla de lanzamiento. Sin embargo, como los cambios relacionados con los nodos son de naturaleza inmutable, tenga en cuenta que esto en realidad creará nuevas instancias EC2 y eliminará las antiguas (según el caso de uso), y no cambiará los tipos de instancias en los nodos existentes. Los grupos de nodos de EKS son, en esencia, grupos de escalado automático de EC2, que usan plantillas de lanzamiento para escalar los nodos hacia arriba y hacia abajo. Además, la plantilla de lanzamiento define el tipo de instancia. Por lo tanto, al definir una nueva plantilla de lanzamiento, cualquier nodo nuevo que se active usaría el nuevo tipo de instancia (además, en caso de que la cantidad de nodos no cambie, el cambio se puede ejecutar a través de una actualización continua para minimizar el impacto). al clúster). Pasos para actualizar en la consola de AWS:
Abra el grupo de escalado automático
Haga clic en Iniciar actualización de instancia
Establezca un porcentaje saludable mínimo adecuado y el calentamiento de la instancia
Una actualización de instancia reemplaza las instancias. Cada instancia se termina primero y luego se reemplaza, lo que reduce temporalmente la capacidad disponible dentro de su grupo de Auto Scaling. Aprende más
En caso de que solo haya un solo nodo, podría tener sentido escalar temporalmente hasta 2 nodos para que el proceso de actualización pueda reprogramar la carga de trabajo desalojada del nodo que se está actualizando.
eksctl scale nodegroup . Pero tenga en cuenta que esto finalizará todas las instancias en el grupo de nodos y creará las nuevas instancias basadas en la plantilla de lanzamiento actualizada.eksctl scale nodegroup . Las nuevas instancias que se crearán se basarán en la plantilla de lanzamiento actualizada.No puede actualizar el tipo de instancia, usar el ajuste de escala automático o crear un nuevo grupo de nodos y hacer que los pods se programen allí.