Después de instalar e integrar el servicio de Automation Config, también debe instalar, ejecutar y registrar el servicio de minion de Salt en cualquier nodo que tenga previsto administrar mediante Automation Config. Puede implementar el servicio de minion de Salt en los nodos de mediante plantillas de nube de VMware Aria Automation o mediante la instalación del servicio a través de Secure Shell (SSH).
Salt y su relación con Automation Config
Automation Config se ejecuta en Salt, un marco de ejecución remota de código abierto basado en Python que se utiliza para:
- Administración de la configuración
- Automatización
- Aprovisionamiento
- Orquestación
Salt es la tecnología que subyace a la funcionalidad principal de Automation Config. Automation Config mejora y extiende Salt, lo que proporciona funciones y funcionalidades adicionales que mejoran la facilidad de uso.
Salt utiliza el modelo controlador-cliente en el que un controlador emite comandos para un cliente y este ejecuta el comando. En el ecosistema de Salt, el controlador es un servidor que ejecuta el servicio principal de Salt. Emite comandos a uno o varios minions de Salt, que son nodos que ejecutan el servicio de minion de Salt y que están registrados con ese maestro en particular.
Otra forma de describir Salt es como un modelo de editor-suscriptor. El maestro publica los trabajos que se deben ejecutar y los minions se suscriben a esos trabajos. Cuando se aplica un trabajo específico a ese minion, este lo ejecuta. Cuando un minion termina de ejecutar un trabajo, envía los datos devueltos del trabajo al maestro.
Los minions son nodos que ejecutan el servicio salt-minion. El servicio escucha los comandos de un maestro de Salt y realiza las tareas solicitadas. Puede implementar minions desde plantillas de nube de VMware Aria Automation.
Antes de poder empezar a usar Automation Config para la administración de la configuración, primero debe instalar el servicio de minion de Salt en todos los nodos que desee administrar. También debe registrar los minions enviando y aceptando sus claves para Automation Config.
Antes de comenzar
- Instale y configure Automation Config, e intégrelo con VMware Aria Automation.
- Los nodos que administra Automation Config deben poder comunicarse con el maestro de Salt y deben residir en la misma red que el punto de integración de Automation Config y el maestro de Salt.
- Las máquinas de vSphere que se implementan en una red privada deben poder iniciar una conexión con la integración de Automation Config y el maestro de Salt.
Instalar el servicio de minion de Salt a través de SSH
El proceso para instalar el servicio de minion de Salt con SSH depende del sistema operativo que se ejecuta en esos nodos.
- Para obtener información sobre la instalación del servicio de minion de Salt en RedHat Linux o CentOS, consulte Dependencias de Automation Config requeridas.
- Para otros sistemas operativos, consulte http://repo.saltstack.com/.
- Configure cada minion para que se comunique con el maestro creando un archivo
master.conf
en el directorio/etc/salt/minion.d
. En este archivo, proporcione la dirección IP del maestro. Por ejemplo:master: 192.0.2.1
- Inicie el servicio de minion:
sudo systemctl enable salt-minion
sudo systemctl start salt-minion
- Repita los pasos anteriores para todos los nodos restantes.
Después de configurar estos archivos de minion para que apunten al maestro de Salt, acepte las claves de minion en el servicio de Automation Config en el área de trabajo Claves de minion.
Instalar el servicio de minion de Salt mediante plantillas de nube de VMware Aria Automation
Para implementar el servicio de minion de Salt mediante plantillas de nube, debe tener acceso a cloud-init (Linux) o Cloudbase-init (Windows) y saber usarlos. Para agregar minions de Salt al maestro de Salt configurado para la integración de Automation Config, la máquina virtual de la plantilla de nube debe ser compatible con cloud-init (Linux) o Cloudbase-init (Windows).
En las siguientes secciones se explica cómo implementar el servicio de minion de Salt mediante plantillas de nube.
Agregar minions al maestro de Salt configurado para VMware Aria Automation
Cuando se instala Automation Config, se especifica una dirección IP principal de Salt. Esa dirección IP principal se utiliza como la propiedad masterAddress al implementar minions desde una plantilla de nube de VMware Aria Automation.
Instale e implemente minions mediante el uso de los scripts de cloud-init o Cloudbase-init en una plantilla de nube o una implementación de VMware Aria Automation. También puede utilizar una asignación de imagen que represente un script de configuración de nube que use cualquiera de estos formatos. Para agregar minions de Salt al maestro de Salt asociado a una integración de Automation Config de VMware Aria Automation, la máquina de destino debe ser compatible con cloud-init (Linux) o Cloudbase-init (Windows). Los scripts de configuración de nube de VMware Aria Automation admiten ambos formatos.
Configure un recurso de máquina en la plantilla de nube con un valor minionId y un valor cloudConfig, y haga referencia al grupo de propiedades SaltStackConfiguration. El grupo de propiedades SaltStackConfiguration se crea durante la instalación y la configuración del servicio de Automation Config en VMware Aria Suite Lifecycle. Contiene las propiedades masterAddress y masterFingerprint.
El valor de minionId debe coincidir con el valor especificado para /salt/minion_id
de la máquina en la sección cloudConfig
del código de la plantilla de nube.
- Una imagen de VMware Aria Automation que se invoca desde el código de plantilla de nube
- Un script de configuración de nube que se invoca desde el código de plantilla de nube
- Contenido del script de configuración de nube que se agrega directamente al código de plantilla de nube
Nota: Cuando se implementa una plantilla de nube que contiene minions de Salt y la implementación no está visible en Automation Assembler, puede mostrar la implementación mediante el servicio de Automation Service Broker.
Ejemplo: implementación basada en Linux y cloud-init
resources: Salt-Minion: type: Cloud.Machine properties: image: Ubuntu-18 flavor: medium constraints: - tag: 'env:vsphere' cloudConfig: | #cloud-config hostname: ${input.saltminionhostname} users: - name: ${input.user} sudo: ['ALL=(ALL) NOPASSWD:ALL'] groups: sudo shell: /bin/bash runcmd: - PASS=${input.password} - USER=${input.user} - echo $USER:$PASS | /usr/sbin/chpasswd - sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config - service ssh reload - curl -L https://bootstrap.saltstack.com -o install_salt.sh - sudo sh install_salt.sh -A ${propgroup.SaltStackConfiguration.masterAddress}
Ejemplo: implementación basada en Windows y Cloudbase-init
formatVersion: 1 inputs: {} resources: WindowsVM-Minion: type: Cloud.vSphere.Machine properties: image: win2016 flavor: medium customizationSpec: Windows minionId: '${resource.WindowsVM-Minion.resourceName}' networks: - network: '${resource.wpnet.id}' name: '${wpnet.name}' assignPublicIpAddress: true cloudConfig: | #ps1_sysnative [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -OutFile C:\Salt-Minion-3002.2-Py3-AMD64-Setup.exe -Uri https://repo.saltstack.com/windows/Salt-Minion-3002.2-Py3-AMD64-Setup.exe Start-Process -Wait -FilePath "C:\Salt-Minion-3002.2-Py3-AMD64-Setup.exe" -ArgumentList "/S" -PassThru ((Get-Content -path C:\salt\conf\minion -Raw) -replace "#master: salt", "master: ${propgroup.SaltStackConfiguration.masterAddress}") | Set-Content -Path C:\salt\conf\minion ((Get-Content -path C:\salt\conf\minion -Raw) -replace "#master_finger: ''", "master_finger: '${propgroup.SaltStackConfiguration.masterFingerPrint}'") | Set-Content -Path C:\salt\conf\minion Set-Content -Path C:\salt\conf\minion_id -Value '${resource.WindowsVM-Minion.resourceName}' C:\salt\salt-call.bat service.restart salt-minion wpnet: type: Cloud.Network properties: name: wpnet networkType: existing
Cómo configurar los comandos de PowerShell
Los comandos de PowerShell se configuran en la sección cloudConfig
de las plantillas de nube.
- Instale el servicio Salt Minion en la máquina virtual de Windows.
- Actualice el valor de nombre de host maestro de Salt en la configuración de Minion.
- Actualice el valor de huella digital de maestro de Salt en la configuración de Minion.
- Establezca
minion_id
en el nombre de recurso de la máquina virtual que se utilizará para aceptar el minion en el maestro de Salt. - Reinicie el minion.
Más información sobre la implementación de minions de Salt
Para ver métodos alternativos de uso de Automation Config integrado para implementar minions de Salt desde una plantilla de nube de VMware Aria Automation, consulte Secretos de Assembler y ABX (y cómo utilizarlos para instalar agentes minion de Automation Config).
Para obtener información relacionada con la definición y la implementación de plantillas de Automation Assembler en general, especialmente si está familiarizado con Config, pero no conoce Aria Automation, consulte Diseñar las implementaciones de Assembler.