Puede actualizar SaltStack Config a la versión estable más reciente desde una versión anterior.

Prácticas recomendadas al actualizar

Siga estas instrucciones mientras planifica la actualización:

  • No actualice con el instalador ni con las instrucciones de instalación manual.Si va a actualizar su instalación de SaltStack Config, consulte las siguientes instrucciones.
  • Para obtener mejores resultados, incremente de una versión principal a la siguiente. Como práctica recomendada, actualice siempre desde la versión principal más reciente de SaltStack Config a la nueva versión. Si tiene una versión anterior, actualice de forma incremental de una versión a la siguiente.
  • Haga una copia de seguridad de los datos. Para evitar la pérdida de datos, haga una copia de seguridad de los datos.
  • Realice actualizaciones durante las horas de poca actividad de la red. Las actualizaciones de la base de datos requieren volver a indizar los datos. Según la complejidad de los datos, una actualización de la base de datos podría tardar varias horas. Para evitar interrupciones en el servicio, considere actualizar la base de datos durante las horas laborables de menor actividad o reducir la base de datos antes de una actualización.
  • Compruebe si hay comandos antiguos almacenados en la base de datos. En algunos casos, la base de datos de PostgreSQL almacena comandos antiguos que no se han ejecutado. Estos comandos pueden ejecutarse durante el proceso de actualización, cuando se reinicia el complemento principal. Para evitar que esto suceda, compruebe si hay comandos antiguos almacenados en la base de datos y habilite la omisión de trabajos más antiguos que una fecha definida.
  • Pruebe la actualización antes de implementar. Si es posible, podría intentar ejecutar una práctica en un entorno de prueba para saber cuánto tiempo puede tardar la actualización.
  • Lea primero toda la guía. Considere también la posibilidad de leer toda esta guía una vez antes de implementar una actualización para poder tener una buena idea de las tareas que se requieren, y si estas necesitan planificación por parte de su equipo o si se debe notificar a las partes interesadas sobre cambios pendientes.

Actualizar desde versiones anteriores

Como práctica recomendada, actualice siempre desde la versión principal más reciente de SaltStack Config a la nueva versión. Si va a actualizar desde una versión anterior a la versión más reciente, es posible que obtenga mejores resultados si actualiza en incrementos de una versión principal a la siguiente.

Para obtener instrucciones sobre cómo actualizar a versiones anteriores de SaltStack Config, consulte las instrucciones de actualización específicas de las versiones desde las que va a actualizar. Las instrucciones de actualización de versiones anteriores se incluyen en el PDF de la guía de instalación de la versión subsiguiente. Por ejemplo, si necesita actualizar de la versión 5.5 a la 6.0, consulte las instrucciones de actualización en el PDF de instalación de la versión 6.0.

Para SaltStack Config 8.4 y las versiones posteriores, utilice el selector de versión situado en la parte superior de esta página para seleccionar la guía de actualización correcta para su versión de producto. Para las versiones 8.3 y anteriores, utilice las guías en PDF de la siguiente tabla:

Versión Guía de instalación y actualización (PDF)
8.3 Guía de instalación y actualización de la versión 8.3
6.4 Guía de instalación y actualización de la versión 6.4
6.3 Guía de instalación y actualización de la versión 6.3
6.2 Guía de instalación y actualización de la versión 6.2
6.1 Guía de instalación y actualización de la versión 6.1
6.0.1 Guía de instalación y actualización de la versión 6.0.1
6.0 Guía de instalación y actualización de la versión 6.0

Cómo actualizar SaltStack Config

Para actualizar SaltStack Config, complete las siguientes tareas en este orden:
  • Hacer una copia de seguridad de los datos, incluidos ciertos archivos y directorios que son cruciales para la instalación específica de SaltStack Config
  • Actualizar PostgreSQL (opcional, pero recomendado)
  • Actualizar la infraestructura de Salt (opcional, pero recomendado)
  • Descargar los archivos de actualización
  • Actualizar el nodo de RaaS
  • Actualizar los maestros de Salt mediante el complemento principal

Para obtener más información sobre la actualización de SSC a través de Lifecyle Manager, consulte Actualizar vRealize Automation SaltStack Config en la documentación de LCM.

Hacer una copia de seguridad de los archivos y directorios de SaltStack Config

Los siguientes archivos y directorios contienen las configuraciones de SaltStack Config personalizadas y es necesario realizar una copia de seguridad de ellos antes de actualizar:

  1. En el nodo de RaaS, haga una copia de seguridad de estos directorios completos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /var/log/raas
    • /etc/raas/pki/
    Nota:

    El directorio pki contiene archivos ocultos, así que asegúrese de hacer una copia de seguridad de todo el directorio. Realizar una copia de seguridad de los archivos de log del directorio /var/log/raas es opcional. Durante el proceso de actualización, borrará los archivos de log para proporcionar un archivo de log limpio si es necesario solucionar problemas.

  2. En cada maestro de Salt, haga una copia de seguridad de /etc/salt/master.d/raas.conf y /etc/salt/master.d/eAPIMasterPaths.conf.
    Nota:

    En función de cómo se haya instalado inicialmente SaltStack Config, las rutas de acceso al maestro de Salt de eAPI podrían encontrarse en /etc/salt/master.d/raas.conf en su lugar.

Hacer una copia de seguridad del esquema de base de datos

Al actualizar el nodo de RaaS, se actualiza el esquema de base de datos. Por este motivo, asegúrese de crear una copia de seguridad de la base de datos antes de la actualización.

Para realizar una copia de seguridad de la base de datos, primero debe buscar el nombre de la base de datos de PostgreSQL y, a continuación, copiar el contenido:

  1. En el servidor de PostgreSQL, haga una copia de seguridad de estos archivos:
    • postgres.conf
    • pg_hba.conf
  2. Inicie sesión como el usuario postgres mediante el siguiente comando.
    sudo su - postgres
  3. Obtenga el nombre de la base de datos mediante los siguientes comandos para entrar en PostgreSQL y, a continuación, enumerar las bases de datos:
    psql
    \l
  4. Para salir de PostgreSQL y cerrar sesión como el usuario postgres, presione Ctrl+D y, a continuación, ejecute el siguiente comando:
    exit
  5. Copie el contenido de la base de datos en un archivo. El siguiente comando da un ejemplo:
    pg_dump -U salt_eapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Actualizar base de datos de PostgreSQL

SaltStack Config requiere una base de datos de PostgreSQL 9.6, pero se recomienda PostgreSQL 13.7. La versión recomendada de PostgreSQL se incluye con el instalador de SaltStack Config.

No es necesario actualizar a la versión más reciente de PostgreSQL. Sin embargo, es posible que la actualización de PostgreSQL mejore el rendimiento. Para obtener instrucciones sobre cómo actualizar a la versión más reciente de PostgreSQL, consulte Actualización de PostgreSQL.

Actualizar base de datos de Redis

SaltStack Config requiere una base de datos de Redis 5.x, pero se recomienda Redis 6.2.7. La versión recomendada de Redis se incluye con el instalador de SaltStack Config.

No es necesario actualizar a la versión más reciente de Redis 5.x. Sin embargo, la actualización de Redis puede mejorar el rendimiento. Para obtener instrucciones sobre cómo actualizar Redis, consulte Administración de Redis.

Actualizar Salt

Al actualizar Salt, primero debe actualizar los maestros. Es posible que la ejecución de minions con versiones de Salt más recientes que las de sus maestros no funcione según lo esperado, ya que el minion podría incluir cambios que aún no están disponibles en el maestro. Además, siempre que es posible, se conserva la compatibilidad con versiones anteriores entre nuevos maestros y minions antiguos. Por lo general, la única excepción a esta directiva es si se produce una vulnerabilidad de seguridad.

Para obtener el mejor rendimiento, asegúrese de que los componentes de Salt de su infraestructura se ejecuten en la versión principal de Salt más reciente.

Importante: Las versiones 3005 y 3005.1 de Salt utilizan un paquete de instalación de onedir que no es compatible con SaltStack Config. Para usar las versiones 3005 o 3005.1 de Salt con SaltStack Config, utilice solo paquetes de instalación clásicos. Para obtener más información sobre las versiones 3005/3005.1 de Salt y onedir, consulte KB 89728.

Para obtener instrucciones sobre cómo actualizar el paquete Salt Crystal, consulte Cómo actualizar Salt Crystal.

Sugerencia: La imposibilidad de actualizar Salt regularmente a través de Internet podría ser un problema para la red, a menos que la red esté aislada. Por este motivo, se recomienda instalar Salt de antemano en lugar de usar el paquete Salt Crystal.

Actualizar el nodo de RaaS

Después de actualizar PostgreSQL, Redis y Salt a la versión más reciente, puede actualizar el nodo de RaaS de la versión anterior a la versión más reciente.

Nota: Las actualizaciones de la base de datos requieren volver a indizar los datos. Si los datos son complejos, una actualización de la base de datos puede tardar varias horas.
Importante:

Antes de actualizar el nodo de RaaS, debe hacer una copia de seguridad de los datos del sistema para evitar la pérdida de datos.

Para actualizar el nodo de RaaS:

  1. Descargue los archivos de actualización de Customer Connect.
  2. Guarde los cambios realizados en el sistema de archivos predeterminado, los datos del pilar y los trabajos como nuevos archivos o trabajos.
  3. Tenga en cuenta las asignaciones de pilares que se realizan en los destinos predeterminados. Estos se deben volver a asignar después de la actualización.
  4. Detenga el servicio RaaS con el siguiente comando:
    sudo systemctl stop raas
  5. Elimine los archivos de log del directorio /var/log/raas. Al limpiar los archivos de log, se obtiene un archivo de log limpio por si es necesario solucionar problemas.
  6. Elimine la versión de la API (RaaS) instalada actualmente con el siguiente comando:
    sudo yum remove raas
  7. Actualice el nodo de RaaS instalando el RPM más reciente. Utilice el siguiente comando de ejemplo, reemplazando por el nombre de archivo exacto del RPM:
    sudo yum install raas-rpm-file-name.rpm
  8. IMPORTANTE: Restaure la copia de seguridad de los siguientes archivos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  9. Actualice los permisos del usuario raas con el siguiente comando:
    sudo chown -R raas:raas /etc/pki/raas/certs
  10. OPCIONAL: Si tiene una licencia de SaltStack SecOps y desea agregar la biblioteca de conformidad, agregue la siguiente sección nueva al archivo /etc/raas/raas:
    sec:
      ingest_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      username: 'secops'
      content_url: 'https://enterprise.saltstack.com/secops_downloads'
      download_enabled: true
      download_frequency: 86400
      stats_snapshot_interval: 3600
      compile_stats_interval: 10
      ingest_on_boot: True
      content_lock_timeout: 60
      content_lock_block_timeout: 120
    Nota:

    Este paso es opcional y solo se aplica a las organizaciones que tienen una licencia válida de SaltStack SecOps. Este módulo adicional está disponible para SaltStack Config 6.0 y versiones posteriores. Las opciones de configuración anteriores del archivo de configuración /etc/raas/raas son específicas de estos módulos adicionales.

  11. OPCIONAL: Si tiene una licencia de SaltStack SecOps y desea agregar la biblioteca de vulnerabilidad, agregue una nueva sección al archivo /etc/raas/raas:
    vman:
      vman_dir: vman
      download_enabled: true
      download_frequency: 86400
      username: vman
      content_url: 'https://enterprise.saltstack.com/vman_downloads'
      ingest_on_boot: true
      compile_stats_interval: 60
      stats_snapshot_interval: 3600
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      tenable_asset_import_enabled: True
      tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name',
                                    'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint',
                                    'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key',
                                    'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id',
                                    'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id',
                                    'aws_availability_zone', 'aws_ec2_instance_ami_id',
                                    'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name',
                                    'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code',
                                    'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id',
                                    'installed_software', 'bigfix_asset_id'
                                    ]
    Nota:

    Este paso es opcional y solo se aplica a las organizaciones que tienen una licencia válida de SaltStack SecOps. Este módulo adicional está disponible para SaltStack Config 6.0 y versiones posteriores. Las opciones de configuración anteriores del archivo de configuración /etc/raas/raas son específicas de estos módulos adicionales.

  12. RaaS actualmente tiene un problema conocido relacionado con trabajos obsoletos. Durante la actualización, es posible que algunos usuarios observen una cola de trabajos obsoletos que quedan en estado pendiente. La actualización del nodo de RaaS puede hacer que estos trabajos se ejecuten, a menos que se borren antes.

    Para evitar que esto suceda, compruebe primero si hay comandos antiguos almacenados en la base de datos. En el nodo de PostgreSQL, compruebe los trabajos pendientes mediante el siguiente comando:

    select count(1) from commands where state='new';

    El resultado es la cantidad de trabajos pendientes. Si el número de trabajos es 0, continúe con el resto del proceso de actualización.

  13. Actualice la base de datos del servicio RaaS con el siguiente comando:
    sudo su - raas
    raas upgrade
    Nota:

    Según el tamaño de la base de datos, la actualización puede tardar entre varios minutos y más de una hora. Si encuentra errores, consulte el archivo de registro de /var/log/raas/raas para obtener más información.

  14. Después de la actualización, cierre sesión del usuario raas con el siguiente comando:
    exit
  15. Inicie el servicio RaaS mediante el siguiente comando:
    sudo systemctl enable raas
    sudo systemctl start raas

Actualizar el complemento principal

Después de actualizar correctamente el nodo de RaaS, puede actualizar los maestros de Salt que utilicen el complemento principal para conectarse a SaltStack Config.

Nota:

Antes de actualizar los maestros de Salt, asegúrese de que la aplicación pip3 esté instalada en los maestros de Salt. Si va a actualizar desde la versión más reciente del complemento principal, esta aplicación ya está instalada.

Para actualizar el complemento principal en un maestro de Salt:

  1. Detenga el servicio salt-master mediante el siguiente comando:
    sudo systemctl stop salt-master
  2. Compruebe qué versión de Python se está ejecutando en el maestro de Salt. Si ejecuta Python 3.6 o una versión posterior, no es necesario realizar ningún cambio. De lo contrario, elimine la versión anterior del módulo SSEAPE. (SSEAPE es el complemento de SaltStack Config para el maestro de Salt). Por ejemplo:

    RHEL/CentOS

    sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*

    Ubuntu

    sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
  3. Actualice el complemento principal mediante la instalación manual del wheel de Python actualizado. Utilice los siguientes comandos de ejemplo, reemplazando con el nombre exacto del archivo wheel:

    RHEL/CentOS

    sudo pip3 install SSEAPE-file-name.whl --prefix /usr

    Ubuntu

    sudo pip3 install SSEAPE-file-name.whl
    Nota:

    Es posible que algunos usuarios necesiten modificar la sintaxis a pip3.6 o pip36 para sus sistemas operativos.

  4. Actualice las rutas del módulo de la API (RaaS) editando el archivo /etc/salt/master.d/eAPIMasterPaths.conf para que haga referencia a las rutas de los diversos módulos. Por ejemplo, puede cambiar todas las referencias a python2.7 de este archivo a python3.6.
    Nota:

    En función de cómo se haya instalado inicialmente SaltStack Config, las rutas de acceso al maestro de Salt de eAPI podrían encontrarse en /etc/salt/master.d/raas.conf en su lugar.

  5. Compruebe la sección engines de /etc/salt/master.d/raas.conf para confirmar si coincide con lo siguiente:
    engines:
      - sseapi: {}
      - eventqueue: {}
      - rpcqueue: {}
      - jobcompletion: {}
      - keyauth: {}
    Nota:

    Si se produjo un problema, es posible que deba restaurar las copias de seguridad de los archivos /etc/salt/master.d/raas.conf y /etc/salt/master.d/eAPIMasterPaths.conf.

  6. Si utiliza la autenticación de clave principal de Salt (recomendado), asegúrese de que sseapi_pubkey_path esté configurado y de que sseapi_username y sseapi_password estén comentados en /etc/salt/master.d/raas.conf.
    sseapi_pubkey_path: /etc/salt/pki/master/sseapi_key.pub
    
    #sseapi_username:
    #sseapi_password:
  7. Compruebe que las entradas master_job_cache y event_return se hayan establecido en sseapi. El regresador pgjsonb ya no se encuentra disponible.
  8. Inicie el servicio salt-master mediante el siguiente comando:
    sudo systemctl start salt-master

El proceso de actualización ya ha finalizado. Si detecta otros errores, consulte la Solución de problemas.