Paso 16: Actualizar el libro de recetas para utilizar libros de recetas de la comunidad - 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.

Paso 16: Actualizar el libro de recetas para utilizar libros de recetas de la comunidad

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 actuales. 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.

Por último, actualice el libro de recetas para utilizar la funcionalidad que se ofrece en un libro de recetas de Chef externo proporcionado por la comunidad. El libro de recetas externo que utilizará en este tutorial se encuentra disponible en Chef Supermarket, una conocida ubicación que ofrece acceso a libros de recetas de Chef externos. Este libro de recetas externo proporciona un recurso personalizado que permite descargar e instalar aplicaciones, similar a lo que hizo en Paso 4: Actualizar el libro de recetas para instalar un paquete, con la diferencia de que este recurso puede instalar aplicaciones web y de otros tipos, además de los paquetes.

Cuando un libro de recetas dependa de otro, debe especificar una dependencia en el otro libro de recetas. Para declarar y administrar las dependencias de libros de recetas, recomendamos utilizar una herramienta llamada Berkshelf. Para obtener más información sobre cómo instalar Berkshelf en la estación de trabajo local, consulte About Berkshelf en el sitio web de Chef.

Después de instalar Berkshelf, siga estos procedimientos para declarar la dependencia del libro de recetas y, a continuación, cree una receta que llame al recurso en el libro de recetas externo:

Para declarar la dependencia del libro de recetas
  1. En la estación de trabajo local, en el directorio opsworks_cookbook_demo, añada la siguiente línea al final del archivo metadata.rb:

    depends "application", "5.0.0"

    Esto declara una dependencia en un libro de recetas denominado application, versión 5.0.0.

  2. Desde la raíz del directorio opsworks_cookbook_demo, ejecute el siguiente comando. El punto al final del comando es intencional.

    berks init .

    Berkshelf crea una serie de carpetas y archivos que se pueden utilizar posteriormente en escenarios más avanzados. El único archivo que necesitamos en este tutorial es el llamado Berksfile.

  3. Añada la siguiente línea al final del archivo Berksfile:

    cookbook "application", "5.0.0"

    Esto informa a Berkshelf de que se va a utilizar la versión 5.0.0 del libro de recetas de la aplicación, que Berkshelf descarga de Chef Supermarket.

  4. En la línea de comandos o el terminal, ejecute el siguiente comando en la raíz del directorio opsworks_cookbook_demo:

    berks install

    Berkshelf crea una lista de las dependencias tanto para su libro de recetas como para el libro de recetas de la aplicación. Berkshelf utiliza esta lista de dependencias en el siguiente procedimiento.

Para actualizar el libro de recetas en la instancia y ejecutar la nueva receta
  1. En el subdirectorio recipes del directorio opsworks_cookbook_demo, cree un archivo llamado dependencies_demo.rb que contenga el código siguiente:

    application "Install NetHack" do package "nethack.x86_64" end

    Esta receta depende del recurso de aplicación del recetario de la aplicación para instalar el popular juego de aventuras basado en texto en la instancia. NetHack (Puede sustituir otros nombres de paquetes siempre que estén a disposición del administrador de paquetes de la instancia).

  2. Desde la raíz del directorio opsworks_cookbook_demo, ejecute el siguiente comando:

    berks package

    Berkshelf utiliza la lista de dependencias del procedimiento anterior para crear un archivo denominado cookbooks-timestamp.tar.gz que contiene el directorio opsworks_cookbook_demo y su contenido actualizado, incluidos los libros de recetas dependientes del libro de recetas. Cambie el nombre de este archivo opsworks_cookbook_demo.tar.gz.

  3. Cargue el archivo opsworks_cookbook_demo.tar.gz actualizado y renombrado en el bucket de S3.

  4. Siga el procedimiento descrito en Paso 5: Actualizar el libro de recetas en la instancia y ejecutar la receta para actualizar el libro de recetas en la instancia y ejecutar la receta. En el procedimiento "To run the recipe" para Recipes to execute (Recetas para ejecutar), escriba opsworks_cookbook_demo::dependencies_demo.

  5. Después de ejecutar la receta, debería tener la posibilidad de iniciar sesión en la instancia y escribir nethack en el símbolo del sistema para comenzar la reproducción. (Para obtener más información sobre el juego, consulta NetHackla NetHack Guía).

En el siguiente paso, puedes limpiar los AWS recursos que utilizaste para este tutorial. El siguiente paso es opcional. Es posible que desees seguir utilizando estos AWS recursos a medida que vayas aprendiendo más sobre AWS OpsWorks Stacks. Sin embargo, conservar estos AWS recursos puede provocar algunos cargos continuos en tu AWS cuenta. Si quieres conservar estos AWS recursos para usarlos más adelante, ya has completado este tutorial y puedes pasar directamente a Siguientes pasos ellos.