En este ejemplo, verá otro ejemplo de cómo aplicar archivos de estado para implementar y administrar rápidamente las opciones de configuración mediante SaltStack Config. En este ejemplo, se muestra un archivo de estado ligeramente más complejo que controla tres tareas diferentes (instalar un servicio, iniciar un servicio e implementar un archivo en el nodo que ejecuta el servicio).

Advertencia:

En este ejemplo práctico, se realizan cambios en el entorno y se debe tener precaución al completarlo. Considere probar este ejemplo solamente usando nodos en un entorno de prueba o desarrollo en lugar de un entorno de producción.

Configurar un servidor web Apache en un nodo CentOS (Linux)

Para escribir un archivo de estado que configure e implemente un servidor web Apache:

  1. Cree un nuevo archivo en el servidor de archivos de SaltStack Config.
    1. En la interfaz de usuario de SaltStack Config, haga clic en Configurar > Servidor de archivos en el menú lateral.
    2. Cuando abra el área de trabajo Servidor de archivos por primera vez, verá el directorio de archivos y un archivo nuevo en blanco. Utilice este archivo en blanco para crear un nuevo archivo.
  2. Utilice el nuevo archivo en blanco para crear un nuevo archivo de estado (SLS).
    1. Haga clic en el menú Saltenv y seleccione base.
    2. Junto al menú sin etiquetar, escriba la ruta de archivo y el nombre de archivo. Use /apache/centos.sls.
    3. En el cuerpo del archivo, copie y pegue el siguiente código de archivo de estado (que utiliza la sintaxis YAML):
      install_apache:
        pkg.installed:
          - name: httpd
          
      ensure_service_running:
        service.running:
          - name: httpd
          - watch:
            - pkg: install_apache
            
      default_html_page:
        file.managed:
          - name: /var/www/html/index.html
          - source: salt://apache/index.html
      
      Nota:
      Este archivo de estado tiene tres pasos que ejecutan tres módulos de ejecución de Salt diferentes. Cuando se aplica este archivo de estado a un minion, SaltStack Config:
      • Instala Apache (httpd) en el minion.
      • Inicia el servicio Apache.
      • Implementa una página de índice HTML de ejemplo que está alojada en el minion.
    4. Guarde el archivo de estado.
    5. Confirme que el nuevo archivo aparece en el directorio del servidor de archivos en base > apache > centos.sls.
  3. Agregue una página de índice HTML de ejemplo al servidor de archivos.
    1. En el área de trabajo Servidor de archivos, haga clic en el botón Crear para agregar un nuevo archivo.
    2. Haga clic en el menú sin etiquetar y seleccione base.
    3. Junto al menú sin etiquetar, escriba la ruta y el nombre de archivo de este archivo. Use /apache/index.html.
    4. En el cuerpo del archivo, copie y pegue el siguiente código HTML:
      <html>
      <head><title>SaltStack Config Example></title></head>
      <body>
      <h1>SaltStack Config Example</h1>
      
      Hello, world!
      
      </body>
      
    5. Guarde el archivo HTML.
    6. Confirme que el nuevo archivo aparezca en el directorio del servidor de archivos en base > apache > index.html.
  4. Cree un nuevo trabajo.
    1. Abra el área de trabajo Trabajos haciendo clic en Configuración > Trabajos en el menú lateral.
    2. Haga clic en el botón Crear trabajo.
      Nota:

      Si no ve el botón Crear trabajo, no tiene permiso para crear nuevos trabajos. Póngase en contacto con el administrador de vRealize Automation para obtener acceso o para crear este trabajo en su nombre, de modo que pueda completar el tutorial.

  5. En la pantalla Nuevo trabajo, rellene los detalles del nuevo trabajo y guárdelo.
    Campo Valor de ejemplo

    Nombre

    Asigne a este trabajo un nombre descriptivo, como "Configurar servidor web Apache".

    Descripción

    Agregue una descripción que indique a otros usuarios el propósito de este trabajo, como "Configura e implementa un servidor web Apache en un nodo de CentOS de destino junto con una página de índice HTML de ejemplo".

    Comando

    Seleccione salt.

    El comando salt se utiliza para trabajos que se ejecutan en minions.

    Destinos

    No seleccione nada en este menú. Si deja este campo en blanco, podrá seleccionar el destino en el momento en que ejecute el trabajo.

    Función

    Haga clic en este campo y comience a escribir state.apply hasta que pueda seleccionar este módulo.

    En este campo, se selecciona el módulo de Salt que se aplica cuando se ejecuta este trabajo.

    Entornos

    Seleccione base en el menú.

    Estados

    Seleccione el archivo de estado recién creado en el menú: apache.centos.

    Argumentos

    Este módulo no acepta argumentos, así que déjelo en blanco.

  6. Ahora que ha creado un trabajo, ejecútelo seleccionando los destinos del trabajo.
    1. En el menú lateral, haga clic en Minions para abrir el área de trabajo Minions y ver los destinos.
    2. En la tabla Todos los minions, busque el minion de CentOS de destino para este trabajo. Active la casilla situada junto a ese minion y haga clic en el botón Ejecutar trabajo.
    3. En el cuadro de diálogo Ejecutar trabajo, haga clic en el menú Trabajo y seleccione el trabajo Configurar servidor web Apache que creó en los pasos anteriores. Puede escribir el nombre del trabajo para filtrar los trabajos si es necesario.
    4. Haga clic en Ejecutar ahora.

      Si ejecutó correctamente el trabajo, aparecerá una notificación que explica que el trabajo se inició correctamente.

  7. Compruebe si el trabajo se completó o no haciendo clic en Actividad > Completado en el menú lateral.

    Si no ve su trabajo en esta tabla, es posible que aún esté en curso. Para encontrar trabajos que se están ejecutando actualmente, haga clic en Actividad > En curso. Continúe actualizando Actividad > Completada hasta que su trabajo aparezca en la tabla.

  8. Cuando finalice el trabajo, compruebe que la página de índice esté alojada en el servidor web recién configurado.
    1. En el navegador web, vaya a la dirección IP del minion de CentOS que destinó en el trabajo. Para encontrar la dirección IP del minion en SaltStack Config, revise el área de trabajo Minions en la columna Dirección IP de ese minion.
    2. Al introducir esa dirección IP, debería ver la página de índice HTML de muestra.

Resumen de resultados e información clave

A medida que revise los resultados del trabajo y la página de índice, tenga en cuenta los siguientes puntos:

  • Los archivos de estado son un método para establecer y actualizar rápidamente la configuración del sistema a cualquier escala y para evitar la discrepancia de configuración en un enfoque de infraestructura como código.
  • SaltStack Config permite crear archivos de estado que pueden incorporar elementos complejos, como variables, que son valores que pueden cambiar en función de las condiciones o de la información que se envía al archivo de estado en el momento en que se aplica al sistema.
  • También puede crear archivos de estado que pueden extraer contraseñas de un banco privado (denominado pilar en SaltStack Config) para ayudar a mantener las credenciales seguras y, a la vez, permitir que los miembros del equipo autorizado ejecuten trabajos en los recursos a los que tienen autorización para acceder.