Todos los productos
Search
Centro de documentos

:Configurar el despliegue gradual sin interrupciones

Última actualización: Sep 05, 2026

El despliegue gradual sin interrupciones en Kubernetes divide un proceso de versión completo en varios lotes. Cada vez se libera un lote. Una vez liberados todos los lotes, el despliegue gradual sin interrupciones finaliza. Microservices Engine (MSE) ofrece capacidades de inicio controlado que permiten registrar las aplicaciones en instancias de MSE y realizar la precarga de servicios antes de la sonda de preparación. Esto garantiza que las instancias disponibles de una aplicación se mantengan en ejecución durante el despliegue gradual sin interrupciones. Este tema describe cómo implementar este tipo de despliegue.

Requisitos previos

Precauciones

La función de precarga de servicios con bajo tráfico está diseñada para escenarios donde se ejecutan aplicaciones de microservices. Para permitir que el sistema complete la precarga de servicios antes de la sonda de preparación, tenga en cuenta los siguientes puntos:

  • Puede habilitar la función de precarga de servicios para aplicaciones Spring Cloud que utilicen Nacos o ZooKeeper registro.

  • La función de precarga de servicios se implementa para aplicaciones Spring Cloud basándose en la clase predeterminada de load balancer ZoneAwareLoadBalancer del framework Spring Cloud. Si cambia esta clase para su aplicación Spring Cloud, la función de precarga de servicios dejará de ser efectiva.

  • La función de precarga con bajo tráfico se implementa para aplicaciones Dubbo mediante mse-loadbalance como load balancer. Si ha configurado un load balancer para una aplicación Dubbo, debe deshabilitarlo. De lo contrario, la función de precarga con bajo tráfico proporcionada por MSE no será efectiva para dicha aplicación.

  • En la mayoría de los casos, las puertas de enlace no se invocan mediante registros, sino a través de API. Por lo tanto, la función de precarga con bajo tráfico proporcionada por MSE no es efectiva para las puertas de enlace.

Completar el registro de servicios antes de la sonda de preparación

Kubernetes no puede detectar el momento exacto en que una instancia de aplicación de microservices está lista. En la mayoría de los casos, se considera que una instancia está lista si es posible conectarse a ella a través de un puerto. Sin embargo, es posible que las instancias de la nueva versión no se registren en el registro antes de que se apaguen las instancias de la versión anterior. Como resultado, el consumidor podría fallar al invocar al proveedor de la nueva versión. Para solucionar este problema, Kubernetes proporciona el mecanismo de sonda de preparación, que permite realizar una comprobación de estado en una instancia de aplicación. Si la comprobación de estado es exitosa, se considera que la instancia está lista.

MSE ofrece una función que alinea el ciclo de vida de los microservices con la sonda de preparación de Kubernetes. Si habilita esta función, MSE proporciona un puerto mediante agentes. Dicho puerto se utiliza para detectar si una instancia de aplicación está registrada en un registro. De este modo, no se requieren cambios en el código. Si MSE detecta que la instancia está registrada, devuelve el código de estado 200. Si detecta que no está registrada, devuelve el código de estado 500, lo que indica que la instancia aún no está lista.

  1. Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.

  2. En el panel de navegación izquierdo, elija Microservices Governance > Application Governance. En la página que aparece, haga clic en la tarjeta de recurso de la aplicación que desea gestionar.

  3. En la página de detalles de la aplicación, haga clic en Traffic management en el panel de navegación izquierdo y luego en la pestaña Graceful Start/Shutdown.

  4. En la sección Graceful Start, configure Warmup Duration (Seconds) y Delayed registration time (seconds). A continuación, haga clic en Advanced Settings y active el interruptor situado a la derecha de Complete service registration before passing the readiness probe.

  5. Active el interruptor situado a la derecha de Graceful Start.

    Después de reiniciar la aplicación, el sistema podrá completar el registro de servicios antes de la sonda de preparación.

  6. Inicie sesión en ACK console, configure la readiness probe para la aplicación de destino y luego update la configuración.

    Seleccione Enable a la derecha de Readiness y configure los siguientes parámetros:

    • Path: Introduzca /health en el campo.

    • Port: Introduzca 55199 en el campo.

    • Conserve los valores predeterminados para los demás parámetros.

    Para obtener más información sobre los parámetros, consulte Deploy a stateless application from an image.

    Después de reiniciar la aplicación, el sistema podrá completar el registro de servicios antes de la sonda de preparación.

Completar la precarga de servicios antes de la sonda de preparación

Además de usar por separado las funciones low-traffic service prefetching y delayed service registration, puede asociarlas con el mecanismo de sonda de preparación de Kubernetes en escenarios complejos en línea. La sonda de preparación de Kubernetes se ejecuta correctamente solo cuando la precarga de servicios ha finalizado. Esto garantiza que la aplicación esté lista únicamente después de completar dicha precarga.

  1. Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.

  2. En el panel de navegación izquierdo, elija Microservices Governance > Application Governance. En la página que aparece, haga clic en la tarjeta de recurso de la aplicación que desea gestionar.

  3. En la página de detalles de la aplicación, haga clic en Traffic management en el panel de navegación izquierdo y luego en la pestaña Graceful Start/Shutdown.

  4. En la sección Graceful Start, configure Warmup Duration (Seconds) y Delayed registration time (seconds). A continuación, haga clic en Advanced Settings y active el interruptor situado a la derecha de Complete service warmup before the readiness probe.

  5. Active el interruptor situado a la derecha de Graceful Start.

  6. Inicie sesión en ACK console, configure la readiness probe para la aplicación de destino y luego update la configuración.

    Seleccione Enable a la derecha de Readiness y configure los siguientes parámetros:

    • Path: Introduzca /health en el campo.

    • Port: Introduzca 55199 en el campo.

    • Conserve los valores predeterminados para los demás parámetros.

    Para obtener más información sobre los parámetros, consulte Deploy a stateless application from an image.

    Después de reiniciar la aplicación, el sistema podrá completar la precarga de servicios antes de la sonda de preparación.