Cuando un cambio de configuración en un recurso de Istio genera problemas en su service mesh, puede revertir el recurso a una versión estable directamente desde la consola de ASM. Service Mesh (ASM) registra automáticamente el historial de versiones cada vez que se actualiza la sección spec de un recurso de Istio. El sistema conserva hasta cinco versiones recientes por recurso.
A continuación se utiliza un VirtualService como ejemplo. Los mismos pasos aplican para todos los tipos de recursos de Istio: virtual services, destination rules, Istio gateways, service entries, Envoy filters, workload groups, workload entries, sidecar resources, request authentication policies, peer authentication policies y authorization policies.
Funcionamiento del seguimiento de versiones
ASM guarda una instantánea de la sección spec antes de cada actualización.
|
Comportamiento |
Detalles |
|
Activador |
Solo los cambios en los campos de la sección |
|
Límite de almacenamiento |
ASM conserva hasta cinco versiones por recurso. Cuando ocurre una sexta actualización, se descarta la versión más antigua. |
|
Método de actualización |
Las versiones se registran sin importar cómo se actualice el recurso, no solo mediante la consola de ASM. |
|
Campos redundantes |
Los campos con valores predeterminados pueden omitirse en las versiones almacenadas. Por ejemplo, si |
Requisitos previos
Antes de empezar, compruebe que cuenta con lo siguiente:
Una instancia de ASM que ejecute la versión 1.9.7.92 o posterior. Para obtener más información, consulte Create an ASM instance o Update an ASM instance.
Un virtual service creado. Para obtener más información, consulte Manage virtual services.
Paso 1: Habilitar el control de versiones para los recursos de Istio
El control de versiones debe estar habilitado para que ASM comience a registrar las versiones de los recursos. Puede habilitarlo durante la creación de la instancia o en una instancia existente.
Para una nueva instancia de ASM: Seleccione Enable Istio custom resource version control durante el asistente de creación.
Para una instancia de ASM existente:
Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, elija Service Mesh > Mesh Management.
En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, elija ASM Instance > Base Information.
En la página Base Information, haga clic en Settings. En el panel Settings Update, seleccione Enable Istio custom resource version control y haga clic en OK.
Paso 2: Actualizar el virtual service para generar una versión
Una vez habilitado el control de versiones, cada actualización de la sección spec crea una nueva entrada de versión.
ASM solo registra versiones cuando cambian los campos de spec. Las modificaciones en otros campos del recurso de Istio no generan entradas de versión.
Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, elija Service Mesh > Mesh Management.
En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, elija Traffic Management Center > VirtualService.
En la página VirtualService, busque el virtual service deseado y haga clic en YAML en la columna Actions.
En el cuadro de diálogo Edit, modifique un campo de la sección
spec. Por ejemplo, cambie el camponumberde9080a9081y luego haga clic en OK.
ASM guarda la configuración previa a la actualización como una nueva entrada de versión (por ejemplo, v2).
Paso 3: Revertir a una versión anterior
Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, elija Service Mesh > Mesh Management.
En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, elija Traffic Management Center > VirtualService.
En la página VirtualService, busque el virtual service deseado y haga clic en Version en la columna Actions.
En el cuadro de diálogo Version, busque la versión que desea restaurar (por ejemplo, v2) y haga clic en View en la columna Actions para revisar la sección
specalmacenada. Confirme que sea la versión correcta y luego haga clic en Rollback.
Comprobar la reversión
Una vez completada la reversión, compruebe que la configuración del recurso coincida con la versión esperada:
En la página VirtualService, busque el mismo virtual service y haga clic en YAML en la columna Actions.
En el cuadro de diálogo Edit, compruebe que la sección
specrefleje la versión revertida.
Preguntas frecuentes
El botón Version no aparece en mi recurso de Istio
Se deben cumplir dos condiciones: la versión de la instancia de ASM debe ser 1.9.7.92 o posterior, y la opción Enable Istio custom resource version control debe estar habilitada. Compruebe ambos aspectos en ASM Instance > Base Information > Settings.
¿Se registran versiones para las actualizaciones realizadas fuera de la consola de ASM?
Sí. Una vez habilitado el control de versiones, ASM registra los cambios en spec sin importar qué método se utilice para actualizar los recursos de Istio.
¿Cuántas versiones conserva ASM?
ASM almacena hasta cinco versiones por recurso de Istio. Cuando un recurso se actualiza por sexta vez, la versión almacenada más antigua se elimina automáticamente.
¿Por qué la versión almacenada difiere del YAML completo en la consola?
Las versiones almacenadas omiten los campos que contienen valores predeterminados. Por ejemplo, si servers.tls en un Istio gateway tiene el valor predeterminado PASSTHROUGH, ASM no lo incluye en la instantánea de la versión. Este comportamiento es normal y no afecta los resultados de la reversión.