Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los administradores pueden controlar la secuencia de actualizaciones de los clústeres administrados por Flota mediante la definición de una serie de fases y grupos. Pueden configurar cuándo deben producirse aprobaciones y pausas dentro de esas fases y grupos. Toda la configuración se puede guardar como una estrategia de actualización que se puede administrar independientemente de las ejecuciones de actualizaciones o las actualizaciones automáticas, lo que permite reutilizar las estrategias según sea necesario.
En este artículo se explica cómo definir estrategias de actualización mediante grupos y fases.
Requisitos previos
Lea la Introducción conceptual de las actualizaciones de Flota, que proporciona una explicación de las ejecuciones de actualizaciones, las fases, los grupos y las estrategias a las que se hace referencia en esta guía.
Debe tener un recurso Fleet con uno o varios clústeres miembro. Si no es así, siga el inicio rápido para crear un recurso Fleet y combinar clústeres de Azure Kubernetes Service (AKS) como miembros.
Establezca estas variables de entorno:
export GROUP=<resource-group> export FLEET=<fleet-name> export CLUSTERID=<aks-cluster-resource-id> export STRATEGY=<strategy-name>Si sigue las instrucciones de la CLI de Azure de este artículo, necesita la versión 2.70.0 o posterior de la CLI de Azure instalada. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.
También necesita la versión 1.6.0 o posterior de la extensión de la
fleetCLI de Azure, que puede instalar mediante la ejecución del siguiente comando:az extension add --name fleetEjecute el comando
az extension updatepara actualizar a la versión más reciente de la extensión publicada:az extension update --name fleet
Selección de clústeres para la estrategia
Hay dos maneras de seleccionar qué clústeres se incluyen en cada fase y grupo de la estrategia de actualización para controlar la secuencia de actualizaciones:
-
Etiquetas de miembro (recomendadas): asigne etiquetas a cada miembro de flota y úselas
memberSelectorpara seleccionar miembros por esas etiquetas. Cada miembro puede tener varias etiquetas. - Grupos de actualización: asigne un grupo de actualizaciones a cada miembro de flota y, a continuación, defina grupos en la estrategia que coincidan con esos nombres de grupo. Cada miembro solo puede pertenecer a un grupo.
Creación de una estrategia de actualización mediante selectores de miembros (versión preliminar)
Las etiquetas de miembro son el enfoque recomendado para seleccionar clústeres en las estrategias de actualización, ya que proporcionan más flexibilidad. Para obtener detalles conceptuales, consulte Agrupación de clústeres mediante etiquetas de miembro.
Importante
Las características en vista previa de Azure Kubernetes Fleet Manager están disponibles en autoservicio y de manera opcional. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de Azure Kubernetes Fleet Manager reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción.
Aplicación de etiquetas en clústeres de miembros
Aplicar etiquetas al agregar un clúster miembro a la flota
Aplique etiquetas a los miembros de la flota mediante el az fleet member create comando . En el ejemplo siguiente se aplican dos etiquetas al clúster miembro: env=staging y tier=frontend:
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--labels "env=staging tier=frontend"
Aplicar etiquetas a un miembro de flota existente
Aplicar etiquetas a los miembros de la flota mediante el az fleet member update comando
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--labels "env=staging tier=frontend"
Creación de una estrategia de actualización
Una estrategia de actualización consta de una o varias fases, donde una fase puede contener uno o varios grupos de actualizaciones.
Cree un archivo JSON para definir las fases y grupos de la ejecución de la actualización. Las fases se ejecutan secuencialmente en el orden en que aparecen en el archivo JSON. Los grupos se ejecutan en paralelo dentro de cada fase. El siguiente archivo de ejemplo (example-labels-strategy.json) define una estrategia con dos fases mediante
memberSelectorpara seleccionar clústeres por sus etiquetas e incluye la configuración opcionalmaxConcurrency:- La
stagingetapa utiliza unmemberSelectora nivel de etapa para seleccionar todos los clústeres con la etiquetaenv=stagingy crear un grupo implícito. - La
productionfase utiliza unmemberSelectora nivel de fase para filtrar previamente todos los clústeres con la etiquetaenv=productiony, a continuación, define dos grupos, cada uno con su propiomemberSelectorpara seleccionar clústeres por la etiquetatier.
Cuando se define
memberSelectoren un grupo, el camponamedel grupo solo sirve como identificador visual para los informes de estado y el registro de eventos y ya no se usa para la selección de miembros de la flota según los cambios en el grupo.{ "stages": [ { "name": "staging", "memberSelector": { "byLabel": "env=staging" }, "maxConcurrency": "1", "afterStageWaitInSeconds": 600 }, { "name": "production", "memberSelector": { "byLabel": "env=production" }, "maxConcurrency": "4", "groups": [ { "name": "frontend", "memberSelector": { "byLabel": "tier=frontend" }, "maxConcurrency": "3" }, { "name": "backend", "memberSelector": { "byLabel": "tier=backend" }, "maxConcurrency": "3" } ] } ] }- La
Nota:
El maxConcurrency campo es opcional y controla el número de clústeres que se pueden actualizar simultáneamente en el nivel de fase o grupo. Use un valor mayor para actualizar clústeres más rápido a través de la flota o un valor menor para un lanzamiento más controlado que limite el radio de explosión si surgen problemas.
Cuando una fase aplica un memberSelector sin grupos (como staging), todos los miembros correspondientes forman un único grupo implícito y la simultaneidad se controla directamente a través del parámetro maxConcurrency de la fase. Cuando se definen grupos (como production), el nivel maxConcurrency de fase actúa como un límite máximo general en todos los grupos.
En este ejemplo, la fase staging define el parámetro maxConcurrency como "1", para que los clústeres de preproducción se actualizan uno a uno. La fase production permite hasta "4" clústeres a la vez, con los grupos de frontend y de backend, cada uno con un límite de "3".
Los valores pueden ser un entero fijo (por ejemplo, "3") o un porcentaje (por ejemplo, "50%"). Si se omite, el sistema aplica valores predeterminados. Para más información sobre cómo se resuelven estos valores y sus límites superiores, consulte Simultaneidad máxima (versión preliminar).
Cree una nueva estrategia de actualización con el comando
az fleet updatestrategy createcon la marca--stagesestablecida en el nombre del archivo JSON.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-labels-strategy.json
Creación de una estrategia de actualización mediante grupos de actualizaciones
Los clústeres también se pueden seleccionar en las estrategias de actualización asignandolos a un único grupo de actualizaciones. Puede definir una estrategia de actualización que asigne estos grupos de actualizaciones a fases. Dentro de una fase de actualización, las actualizaciones se aplican a cada grupo de actualizaciones en paralelo. Dentro de un grupo de actualizaciones, los clústeres miembro se actualizan secuencialmente.
Nota:
Un miembro de flota solo puede formar parte de un grupo de actualizaciones, pero un grupo de actualizaciones puede tener varios miembros de la flota asignados. Un grupo de actualizaciones no es un tipo de recurso independiente. Los grupos de actualización son solo cadenas que representan referencias de los miembros de la flota. Por lo tanto, si todos los miembros de la flota con referencias a un grupo de actualizaciones común se eliminan, ese grupo de actualizaciones específico deja de existir también.
Asignación de clústeres para actualizar grupos
Asigne al grupo al agregar un clúster miembro a la flota
En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
En el menú del servicio, en Configuración, seleccione Clústeres de miembros>Agregar.
Seleccione el clúster que desea agregar y, a continuación, seleccione Siguiente: revisar y agregar.
Escriba el nombre del grupo de actualizaciones al que desea asignar el clúster y, a continuación, seleccione Agregar.
Asignar un miembro de flota existente a un grupo de actualizaciones
En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
En el menú del servicio, en Configuración, seleccione Clústeres de miembros.
Seleccione los clústeres que desea asignar a un grupo de actualización y luego seleccione Asignar grupo de actualización
Escriba el nombre del grupo de actualizaciones al que desea asignar el clúster y, a continuación, seleccione Asignar.
Creación de una estrategia de actualización
Una estrategia de actualización consta de una o varias fases, donde una fase puede contener uno o varios grupos de actualizaciones.
En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
En el menú de servicios, en Configuración, seleccione Actualización de varios clústeres>Estrategias, y a continuación, Crear.
Escriba un nombre para la estrategia.
La primera vez que vea la página, se muestra un diagrama de explicación de la estrategia de actualización que puede ayudar a visualizar cómo funcionan las estrategias.
Seleccione Crear fase y escriba:
- Nombre de la fase: asigne un nombre a la fase; debe ser único en todos los nombres de fase de la estrategia.
- (Opcional) Aprobaciones de fase: seleccione esta opción si desea esperar una aprobación antes de que se inicie esta fase o después de que se complete. Para obtener más información, consulte Agregar aprobaciones para actualizar grupos y fases.
- (Opcional) Pausar después de la fase: seleccione esta opción si desea definir una pausa antes de pasar a la siguiente fase.
- (Opcional) Pausar duración: seleccione una duración predefinida o escriba un valor personalizado en segundos.
Asigne uno o varios grupos de actualización a la fase y, a continuación, seleccione Crear.
Nota:
El número máximo de grupos de actualizaciones en cada fase de actualización es 50.
Pasos siguientes
Puede usar una estrategia de actualización como parte de una ejecución de actualización manual o un perfil de actualización automática. Vea:
- Procedimientos: Actualización de varios clústeres mediante la actualización de Kubernetes Fleet Manager se ejecuta.
- Procedimiento para agregar aprobaciones a estrategias de actualización de Fleet Manager de Azure Kubernetes.
- Procedimientos: actualice automáticamente varios clústeres mediante Kubernetes Fleet Manager.
- Preguntas más frecuentes sobre las actualizaciones de varios clústeres.