Migración de una pila de Linux existente a una nueva versión de Chef - AWS OpsWorks

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Migración de una pila de Linux existente a una nueva versión de Chef

importante

El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

Puedes usar la consola AWS OpsWorks Stacks o migrar tus stacks de Linux CLI a una versión más reciente de Chef. API Sin embargo, las recetas podrían necesitar modificaciones para ser compatibles con la versión más reciente. Cuando prepare la migración de una pila, tenga en cuenta lo siguiente.

  • No puedes cambiar las versiones de la pila de AWS OpsWorks Stacks de Chef 11 a Chef 12 editando o clonando la pila. Con el procedimiento que se describe en esta sección no es posible actualizar la versión principal de Chef Para obtener más información sobre la transición de Chef 11.10 a Chef 12, consulte Implementación de recetas: Chef 12.

  • La transición de una versión a otra de Chef conlleva una serie de cambios, algunos de ellos importantes.

    Para obtener más información sobre la transición de Chef 0.9 a Chef 11.4, consulte Migración a una nueva versión de Chef. Para obtener más información sobre la transición de Chef 11.4 a Chef 11.10, consulte Implementación de recetas: Chef 11.10. Para obtener más información sobre la transición de Chef 11.10 a Chef 12, consulte Implementación de recetas: Chef 12.

  • Las ejecuciones de Chef usan otra versión de Ruby en las pilas de Chef 0.9 y 11.4 (Ruby 1.8.7), las pilas de Chef 11.10 (Ruby 2.0.0) y las pilas de Chef 12 (Ruby 2.1.6).

    Para obtener más información, consulte Versiones de Ruby.

  • Las pilas de Chef 11.10 controlan de forma distinta la instalación de los libros de recetas en pilas de Chef 0.9 o de Chef 11.4.

    Esta diferencia podría causar problemas a la hora de migrar a Chef 11.10 pilas que utilizan libros de recetas personalizados. Para obtener más información, consulte Instalación y prioridad de los libros de recetas.

A continuación se recomiendan pautas para migrar una pila de Chef a una versión más reciente de Chef:

Para migrar una pila a una nueva versión de Chef
  1. Clone la pila de producción. En la página Clone Stack (Clonar pila), haga clic en Advanced>> (Avanzado>>) para mostrar la sección Configuration Management (Administración de configuración) y cambie Chef version (Versión de Chef) a la versión inmediatamente superior.

    nota

    Si comienza con una pila de Chef 0.9, no puede actualizar directamente a Chef 11.10. Primero debe actualizar a Chef 11.4. Si desea migrar la pila a Chef 11.10 antes de probar sus recetas, espere 20 minutos para ejecutar la actualización y, a continuación, actualice la pila de 11.4 a 11.10.

  2. Añada instancias a las capas, y pruebe las aplicaciones y los libros de recetas de la pila clonada en un sistema de pruebas y ensayos. Para obtener más información, consulte Todo sobre Chef....

  3. Cuando los resultados de las pruebas sean satisfactorios, lleve a cabo una de estas operaciones:

    • Si esta es la versión de Chef deseada, puede utilizar la pila clonada como pila de producción o restablecer la versión de Chef en la pila de producción.

    • Si va a migrar una pila de Chef 0.9 a Chef 11.10 en dos etapas, repita el proceso para migrar la pila de Chef 11.4 a Chef 11.10.

nota

Cuando estés probando recetas, puedes usarlas SSH para conectarte a la instancia y luego usar el comando CLI run_command del Agente de Instancia para ejecutar las recetas asociadas a los distintos eventos del ciclo de vida. El agente CLI es especialmente útil para probar las recetas de configuración, ya que se puede utilizar incluso cuando la instalación falle y la instancia no alcance el estado en línea. También puede utilizar el comando de pila Setup para volver a ejecutar las recetas de configuración, pero ese comando solo está disponible si la configuración ha sido correcta y la instancia está online.

Es posible actualizar a una nueva versión de Chef una pila en ejecución.

Para actualizar una pila en ejecución a una nueva versión de Chef
  1. Modifique la pila para cambiar el valor Chef version (Versión de Chef) de la pila.

  2. Guarda la nueva configuración y espera a que AWS OpsWorks Stacks actualice las instancias, lo que normalmente tarda entre 15 y 20 minutos.

importante

AWS OpsWorks Stacks no sincroniza la actualización de la versión de Chef con los eventos del ciclo de vida. Si desea actualizar la versión de Chef en una pila de producción, debe tener cuidado para asegurarse de que la actualización se complete antes de que se active el siguiente evento de ciclo de vida. Si se produce un evento, normalmente un evento Deploy o Configure, el agente de instancia actualiza los libros de recetas personalizados y ejecuta las recetas asignadas del evento, con independencia de si la actualización de la versión se ha completado o no. No hay modo directo de saber que la actualización de la versión ha finalizado, pero los registros de implementación incluyen la versión de Chef.