Para garantizar que no haya tiempo de inactividad de las aplicaciones, el proceso de implementación es el siguiente:
-
Inicie los nuevos contenedores de aplicaciones y mantenga en funcionamiento los contenedores existentes.
-
Compruebe que los nuevos contenedores estén en buen estado.
-
Detenga los contenedores antiguos.
En función de la configuración de implementación y de la cantidad de espacio libre y sin reservar en el clúster, es posible que se necesiten varias rondas para completar el proceso y sustituir todas las tareas antiguas por tareas nuevas.
Existen dos opciones de configuración del servicio que puede utilizar para modificar el número:
-
minimumHealthyPercent
: 100 % (predeterminado)El límite inferior del número de tareas de su servicio que deben permanecer en el estado
RUNNING
durante una implementación. Es un porcentaje dedesiredCount
que se redondea al número entero más cercano. Este parámetro le permite implementar sin utilizar capacidad de clúster adicional. -
maximumPercent
: 200 % (predeterminado)El límite superior del número de tareas para su servicio que se permiten en el estado
RUNNING
oPENDING
durante una implementación. Es un porcentaje dedesiredCount
que se redondea a la baja número entero más cercano.
Ejemplo: Opciones de configuración predeterminadas
Considere el siguiente servicio, que tiene seis tareas, implementado en un clúster con capacidad para ocho tareas en total. Las opciones de configuración del servicio predeterminadas no permiten que la implementación supere el 100 % de las seis tareas deseadas.
El proceso de implementación es el siguiente:
-
El objetivo es sustituir las seis tareas.
-
El programador inicia dos nuevas tareas porque la configuración predeterminada requiere que haya seis tareas en ejecución en todo momento.
Ahora hay seis tareas existentes y dos nuevas en ejecución.
-
El programador detiene dos de las tareas existentes.
Ahora hay cuatro tareas existentes y dos nuevas en ejecución.
-
El programador inicia dos nuevas tareas adicionales.
Ahora hay cuatro tareas existentes y cuatro nuevas.
-
El programador detiene dos de las tareas existentes.
Ahora hay dos tareas existentes y cuatro nuevas en ejecución.
-
El programador inicia dos nuevas tareas adicionales.
Ahora hay dos tareas existentes y seis nuevas en ejecución.
-
El programador detiene las dos últimas tareas existentes.
Ahora hay seis tareas nuevas en ejecución.
En el ejemplo anterior, si utiliza los valores predeterminados para las opciones, tendrá que esperar 2 minutos y medio para que se inicie una nueva tarea. Además, es posible que el equilibrador de carga tenga que esperar 5 minutos para que se detenga la tarea anterior.
Ejemplo: Modificar minimumHealthyPercent
Puede acelerar la implementación estableciendo el valor minimumHealthyPercent
en un 50 %.
Considere el siguiente servicio, que tiene seis tareas, implementado en un clúster con capacidad para ocho tareas en total. El proceso de implementación es el siguiente:
-
El objetivo es sustituir seis tareas.
-
El programador detiene tres de las tareas existentes.
Todavía hay tres tareas existentes en ejecución que cumplen con el valor
minimumHealthyPercent
. -
El programador inicia cinco nuevas tareas.
Ahora hay tres tareas existentes y cinco nuevas.
-
El programador detiene las tres tareas existentes restantes.
Ahora hay cinco tareas nuevas.
-
El programador inicia las tareas nuevas finales.
Ahora hay seis tareas nuevas.
Ejemplo: Modificar el espacio libre del clúster
También puede agregar espacio libre adicional para poder ejecutar tareas adicionales.
Considere el siguiente servicio, que tiene seis tareas, implementado en un clúster con capacidad para diez tareas en total. El proceso de implementación es el siguiente:
-
El objetivo es sustituir las tareas existentes.
-
El programador detiene tres de las tareas existentes.
Ahora hay tres tareas existentes.
-
El programador inicia seis tareas nuevas.
Ahora tiene las tareas existentes y seis nuevas.
-
El programador detiene las tres tareas existentes.
Ahora hay seis tareas nuevas.
Recomendaciones
Utilice los siguientes valores para las opciones de configuración del servicio cuando sus tareas estén inactivas durante algún tiempo y no tengan una tasa de uso elevada.
-
minimumHealthyPercent
: 50 % -
maximumPercent
: 200 %