Para configurar y comprobar la instancia de SaltStack Config Cloud, instale Salt y el complemento principal en el maestro de Salt, genere un token de API en la consola de Cloud Services y, a continuación, conecte el maestro de Salt a SaltStack Config Cloud. Puede conectar maestros de Salt que sean locales o que se encuentren en la nube.

Requisitos previos

Antes de configurar SaltStack Config Cloud, debe completar los siguientes requisitos previos:
  • Compruebe que tiene las siguientes funciones en VMware Cloud Services:
    • Función de organización: Propietario de organización o Administrador de organización
    • Función de servicio: maestro de Salt
  • Establezca la organización predeterminada como la organización con acceso al servicio SaltStack Config Cloud.

Descripción general de la configuración

La configuración de SaltStack Config Cloud incluye las siguientes tareas.

  1. Instale Salt en el maestro de Salt y los nodos que desea administrar mediante SaltStack Config Cloud. Consulte Paso 1: Instalar Salt para obtener más información.
  2. Instale o actualice el complemento principal en los maestros de Salt que deben comunicarse con SaltStack Config Cloud. Consulte Paso 2: Instalar y configurar el complemento principal para obtener más información.
  3. Genere un token de API para permitir que los maestros de Salt se conecten a SaltStack Config Cloud. Consulte Paso 3: Generar un token de API para obtener más información.
  4. Conecte los maestros de Salt a SaltStack Config Cloud. Consulte Paso 4: Conectar los maestros de Salt a SaltStack Config Cloud para obtener más información.
  5. Acepte las claves de maestro de Salt en la interfaz de usuario de SaltStack Config Cloud. Consulte Paso 5: Aceptar las claves de maestro de Salt para obtener más información.

Paso 1: Instalar Salt

Debe instalar los servicios de maestro de Salt y de minion de Salt en el maestro de Salt para poder usar .

Antes de instalar Salt, compruebe que instaló las dependencias de Salt necesarias. Consulte Instalar dependencias en la Guía de instalación de Salt para obtener más información.

Nota: Para las instalaciones de entorno seguras o sin conexión, debe configurar un proxy de red para permitir las siguientes direcciones URL necesarias para instalar Salt:
  • https://repo.saltproject.io
  • https://pypi.org
  • https://python.org

Confirme la actividad de red a través del proxy de red antes de continuar con la instalación .

Las siguientes instrucciones instalan la versión de Salt más reciente en RHEL 8. Consulte la Guía de instalación de Salt para obtener información sobre cómo instalar Salt en otros sistemas operativos.

  1. En el terminal del maestro de Salt, ejecute los siguientes comandos para instalar la clave y el repositorio del proyecto de Salt:
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
  2. Ejecute sudo yum clean expire-cache.
  3. Instale el servicio salt-minion y el servicio salt-master en el maestro de Salt:
    sudo yum install salt-master
    sudo yum install salt-minion
  4. Cree un archivo master.conf en el directorio /etc/salt/minion.d. En este archivo, establezca la dirección IP del maestro de Salt para que apunte a sí misma:
    master: localhost
  5. Inicie el servicio de maestro de Salt y el servicio de minion de Salt:
    sudo systemctl enable salt-master && sudo systemctl start salt-master
    sudo systemctl enable salt-minion && sudo systemctl start salt-minion
  6. Si utiliza un proxy de red, establezca las variables HTTP_PROXY y HTTPS_PROXY según corresponda para su configuración de red.
    1. Si utiliza systemd para administrar el servicio maestro de Salt, agregue las variables de entorno de HTTP_PROXY y HTTPS_PROXY al archivo salt-master.service.
    2. Ejecute systemctl daemon-reload.
    3. Ejecute systemctl restart salt-master para reiniciar el servicio maestro de Salt.

Paso 2: Instalar y configurar el complemento principal

Después de instalar Salt en la infraestructura, debe instalar y configurar el complemento principal, que permite que los maestros de Salt se comuniquen con SaltStack Config Cloud.

Si ya tiene un maestro de Salt existente, actualice el complemento principal a la versión más reciente disponible antes de conectar el maestro de Salt a SaltStack Config Cloud. Para obtener más información, consulte Usar el área de trabajo Complementos principales.

Para instalar y configurar el complemento principal:

  1. Inicie sesión en el maestro de Salt.
  2. Instale la biblioteca PyJWT y la biblioteca Pika Python en el maestro de Salt mediante los siguientes comandos:
    salt-call --local pip.install pika==1.2.0
    salt-call --local pip.install pyjwt==2.3.0
  3. Descargue la versión más reciente del complemento principal del área de trabajo Complementos principales.
    Importante:

    La versión del complemento principal debe coincidir con la versión de SaltStack Config Cloud. Puede encontrar la versión de SaltStack Config Cloud en el área de trabajo Complementos principales.

  4. Instale el complemento principal mediante la instalación manual del wheel de Python. Utilice el comando de ejemplo, reemplazando el nombre exacto del archivo wheel:
    salt-call --local pip.install SSEAPE-file-name.whl
  5. Genere las opciones de configuración del maestro.
    1. Compruebe que exista el directorio /etc/salt/master.d o créelo.
    2. Ejecute el siguiente comando para generar el archivo de configuración principal.
      sudo sseapi-config --all > /etc/salt/master.d/raas.conf

      Si se produce un error al ejecutar este comando, consulte Solución de problemas de SaltStack Config Cloud.

  6. Reinicie el servicio maestro de Salt.
    sudo systemctl restart salt-master

Paso 3: Generar un token de API

Antes de poder conectar el maestro de Salt a SaltStack Config Cloud, debe generar un token de API mediante la consola de Cloud Services. Este token se utiliza para autenticar el maestro de Salt con VMware Cloud Services.

Para generar un token de API:

  1. En la barra de herramientas de la consola de Cloud Services, haga clic en el nombre de usuario y seleccione Mi cuenta > Tokens de API.
  2. Haga clic en Generar token.

    Página de tokens de API en CSP

  3. Complete el formulario.

    Generar formulario de token en CSP

    1. Introduzca un nombre para el token.
    2. Seleccione el tiempo de vida (TTL) del token. La duración predeterminada es de seis meses.
      Nota: Un token que no caduca puede representar un riesgo de seguridad si se encuentra comprometido. Si esto sucede, debe revocar el token.
    3. Defina los ámbitos del token.
      Ámbito Descripción
      Funciones de organización

      Las funciones de organización determinan el acceso de un usuario a los recursos de la organización.

      Para acceder al servicio SaltStack Config Cloud Cloud, debe seleccionar las funciones Administrador de organización o Propietario de organización.

      La función Administrador de organización seleccionada en la página Generar nuevo token de API
      Funciones de servicio

      Las funciones de servicio son conjuntos de permisos integrados y predefinidos que conceden acceso a VMware Cloud services.

      Para acceder al servicio SaltStack Config Cloud Cloud, busque el servicio SaltStack Config Cloud y seleccione la función de servicio Maestro de Salt.

      La función de servicio Maestro de Salt seleccionada para el servicio de SaltStack Config
    4. (Opcional) Establezca un correo electrónico de preferencia para recibir un recordatorio cuando el token esté a punto de caducar.
    5. Haga clic en Generar.

      El token de API recién generado aparece en la ventana Token generado.

  4. Guarde las credenciales del token en una ubicación segura.

    Después de generar el token, solo podrá ver su nombre en la página Tokens de API y no las credenciales. Para volver a generar el token, haga clic en Regenerar.

  5. Haga clic en Continuar.

Paso 4: Conectar los maestros de Salt a SaltStack Config Cloud

Después de generar un token de API, puede utilizarlo para conectar el maestro de Salt a SaltStack Config Cloud.

Para conectar el maestro de Salt:

  1. En el terminal del maestro de Salt, guarde el token de API como una variable de entorno.
    export CSP_API_TOKEN=<api token value>
  2. Ejecute el comando sseapi-config join para conectar el maestro de Salt a SaltStack Config Cloud.
    1. Si va a conectar el maestro de Salt a SaltStack Config Cloud por primera vez, ejecute el siguiente comando, reemplazando los valores de ssc-url y csp-url por las URL específicas de su región.
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    2. Si utiliza sudo, ejecute el siguiente comando:
      sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    3. Si necesita rehacer el proceso de unión, vuelva a ejecutar el comando sseapi-config join y pase la marca --override-oauth-app.
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL> --override-oauth-app

      La marca --override-oauth-app elimina la aplicación de OAuth utilizada para obtener un token de acceso y vuelve a crearla.

    Tabla 1. URL regionales para SaltStack Config Cloud
    Región URL de SSC URL de CSP
    Estados Unidos https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    Alemania https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    India https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    Canadá https://ca.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    En el siguiente ejemplo de código, se muestra un ejemplo de una respuesta exitosa en la región de Estados Unidos.
    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    

    Si se produce un error al ejecutar este comando, consulte Solución de problemas de SaltStack Config Cloud.

  3. Reinicie el servicio maestro de Salt.
    systemctl restart salt-master
  4. Repita este proceso para cada maestro de Salt.
    Nota: Tras conectar cada maestro de Salt a SaltStack Config Cloud, puede eliminar el token de API. Solo es necesario para conectar el maestro de Salt a SaltStack Config Cloud.

Después de ejecutar el comando sseapi-config, se crea una aplicación de OAuth en la organización para cada maestro de Salt. Los maestros de Salt utilizan la aplicación de OAuth para obtener un token de acceso que se anexa a cada solicitud realizada a SaltStack Config Cloud. Para ver los detalles de la aplicación de OAuth, seleccione Organización > Aplicaciones de OAuth.

El comando también crea datos del pilar denominados CSP_AUTH_TOKEN en el maestro de Salt. Los pilares son estructuras de datos almacenadas en el maestro de Salt y que se transmiten a uno o varios minions que tienen autorización para acceder a esos datos. Los datos del pilar se almacenan en /srv/pillar/csp.sls y contienen el identificador de cliente, el secreto, el identificador de organización y la URL de CSP. Si necesita rotar el secreto, puede volver a ejecutar el comando sseapi-config join.

Ejemplo de datos del pilar:

CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

Paso 5: Aceptar las claves de maestro de Salt

Tras conectar el maestro de Salt a SaltStack Config Cloud, debe aceptar la clave del maestro de Salt en la interfaz de usuario de SaltStack Config Cloud.

Debe tener la función Superusuario en SaltStack Config Cloud para aceptar la clave del maestro de Salt. Consulte Cómo definir las funciones de usuario para obtener más información.

Para aceptar la clave de maestro de Salt:

  1. Inicie sesión en la interfaz de usuario de SaltStack Config Cloud.
  2. En la barra de navegación superior izquierda, haga clic en Menúicono de menú y seleccione Administración para acceder al área de trabajo Administración. Haga clic en la pestaña Claves del maestro.

    Si no ve la clave del maestro, consulte Solución de problemas de SaltStack Config Cloud.

  3. Seleccione la casilla situada junto a la clave principal para seleccionarla. A continuación, haga clic en Aceptar clave.
  4. Si ya conectó los minions de Salt al maestro de Salt, aparece una alerta que indica que tiene claves de minion pendientes por aceptar. Para aceptar estas claves de minion, vaya a Claves de minion > Pendiente.
    1. Marque las casillas junto a sus minions para seleccionarlas. A continuación, haga clic en Aceptar clave.

    La clave se aceptó. Después de varios segundos, el minion aparece en la pestaña Aceptados en el área de trabajo Destinos.

Puede comprobar que el maestro y los minions de Salt se están comunicando. Para ello, ejecute un comando test.ping en la interfaz de usuario de SaltStack Config Cloud. Consulte Ejecución de un trabajo ad-hoc desde el área de trabajo Destinos para obtener más información.