En este ejemplo, aprenderá a aplicar archivos de estado para implementar y administrar rápidamente las opciones de configuración mediante SaltStack Config. En su función de administrador del sistema de TI o miembro del equipo de DevOps, sabe que se tarda mucho tiempo en agregar o actualizar manualmente las opciones de configuración en muchos nodos uno por uno, especialmente a escala. Para empeorar las cosas, también se introduce la posibilidad de errores de configuración o discrepancia de configuración cuando se deben administrar cientos o miles de nodos al mismo tiempo. El sistema de archivos de estado puede ayudarle a resolver este problema. En este ejemplo, aprenderá a utilizar archivos de estado con SaltStack Config para agregar y actualizar de forma coherente las opciones de configuración, como la configuración del firewall en un servidor de Windows.

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 los ajustes del firewall en un nodo de Windows

Para configurar los ajustes del firewall en un minion de Windows abriendo el firewall para el puerto 445:

  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. Cree un nuevo archivo de estado (SLS) en el servidor de archivos.
    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 /windows/firewall.sls.
    3. En el cuerpo del archivo, copie y pegue el siguiente código de archivo de estado (que utiliza la sintaxis YAML):
      open_smb_port:
        win_firewall.add_rule:
          - name: SMB (445)
          - localport: 445
          - protocol: tcp
          - action: allow
      

      Para obtener más información sobre el módulo de firewall de Windows, consulte módulos Salt: Firewall de Windows.

    4. Guarde el archivo de estado.
    5. Confirme que el nuevo archivo aparezca en el directorio de Servidor de archivos en base > windows > firewall.sls.
  3. 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.

  4. Introduzca los detalles del nuevo trabajo y guárdelo.
    Campo Valor de ejemplo

    Nombre

    Asigne a este trabajo un nombre descriptivo, como "Configurar firewall de Windows".

    Descripción

    Agregue una descripción que indique a otros usuarios el propósito de este trabajo, como "Abre el firewall para el puerto 445 en nodos de Windows".

    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ú: windows.firewall.

    Argumentos

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

  5. 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 Windows que desea utilizar como destino para este trabajo. Active la casilla situada junto a este 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 firewall de Windows 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.

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

  7. Cuando finalice el trabajo, revise los resultados del trabajo.
    1. Busque la fila que muestra el trabajo y haga clic en su JID (job identification number, número de identificación del trabajo).
      Nota:

      El JID aparece como un número hipervinculado con 20 dígitos. Por ejemplo, un posible JID podría ser: 20210823204015061902

    2. Revise los resultados del trabajo para confirmar el firewall abierto para el puerto 445.

Resumen de resultados e información clave

A medida que revise los resultados del trabajo, tenga en cuenta los siguientes puntos:

  • Los archivos de estado proporcionan un método sencillo para aplicar rápidamente las opciones de configuración correctas (como la configuración del firewall) en un conjunto de nodos de destino. Los archivos de estado garantizan que los nodos tengan opciones de configuración coherentes y que estas opciones se puedan implementar de forma rápida y eficiente a cualquier escala. Si necesita cambiar las opciones de configuración, simplemente actualice el archivo de estado y vuelva a aplicarlo a todos los minions definidos en un destino.
  • Los archivos de estado también evitan la discrepancia de configuración, que es cuando las configuraciones del sistema se vuelven cada vez más diferentes a lo largo del tiempo o entre un nodo y otro. Al aplicar archivos de estado, SaltStack Config comprueba si el destino se encuentra en el estado de configuración deseado. Los estados son como las directivas de configuración. Definen el estado de destino que desea que tenga el servidor. Cuando se aplica ese estado (directiva) a un sistema, SaltStack Config realiza solo las operaciones necesarias para que la configuración cumpla con ese estado (directiva). Si ya cumple, SaltStack Config simplemente le indica que ya está conforme y no realiza ningún cambio adicional.
  • En este ejemplo, almacenó los archivos de estado de forma local en el servidor de archivos de SaltStack Config, pero tenga en cuenta que puede almacenar archivos de estado en un repositorio de Git privado controlado por la versión. Muchos usuarios vinculan SaltStack Config a repositorios de Git privados donde almacenan y supervisan de cerca los cambios en los archivos de estado mediante un enfoque de infraestructura como código.