Puede actualizar Automation 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 Automation 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 Automation 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 Automation 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 Automation 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 Automation 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:
Cómo actualizar Automation Config
- Hacer una copia de seguridad de los datos, incluidos ciertos archivos y directorios que son cruciales para la instalación específica de Automation 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 Config a través de Aria Suite Lifecycle, consulte Actualizar Automation Config en la documentación de LCM.
Hacer una copia de seguridad de los archivos y directorios de Automation Config
Los siguientes archivos y directorios contienen las configuraciones de Automation Config personalizadas y es necesario realizar una copia de seguridad de ellos antes de actualizar:
- 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. - 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 Automation 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:
- En el servidor de PostgreSQL, haga una copia de seguridad de estos archivos:
postgresql.conf
pg_hba.conf
- Inicie sesión como el usuario
postgres
mediante el siguiente comando.sudo su - postgres
- 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
- Para salir de PostgreSQL y cerrar sesión como el usuario
postgres
, presione Ctrl+D y, a continuación, ejecute el siguiente comando:exit
- Copie el contenido de la base de datos en un archivo. El siguiente comando da un ejemplo:
pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql
Actualizar base de datos de PostgreSQL
Automation 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 Automation 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
Automation 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 Automation 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.
Para obtener información sobre la instalación de paquetes onedir de Salt, consulte Instalación de paquetes onedir de Salt.
Obligatorio:Para las implementaciones complementarias o de actualización, a partir de Salt 3006, el maestro de Salt está configurado para ejecutarse como usuario "salt" en lugar del "usuario raíz" tradicional. Como resultado, esto puede provocar errores de permisos en los flujos de trabajo relacionados con RaaS, como la implementación de minions y las actualizaciones del complemento principal de RaaS.
Para solucionar este problema, modifique el archivo /etc/salt/master.d/raas.conf para cambiar el usuario a raíz: user: root
.
Para las implementaciones totalmente nuevas, el comando sseapi-config
configura el complemento principal y genera el archivo raas.conf con el valor de configuración de user: root
correcto. No se requiere la intervención del usuario.
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.
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 conservar la configuración, guarde los cambios realizados en el sistema de archivos predeterminado, los datos del pilar y los trabajos como nuevos archivos o trabajos. Además, debe registrar o realizar una copia de las asignaciones de destino de pilares existentes, ya que se eliminan durante el proceso de actualización.
Para actualizar el nodo de RaaS:
- Descargue los archivos de actualización de Customer Connect.
- Detenga el servicio RaaS con el siguiente comando:
sudo systemctl stop raas
- 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. - Elimine la versión de la API (RaaS) instalada actualmente con el siguiente comando:
sudo yum remove raas
- 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
- IMPORTANTE: Restaure la copia de seguridad de los siguientes archivos:
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- Actualice los permisos del usuario
raas
con el siguiente comando:sudo chown -R raas:raas /etc/pki/raas/certs
- OPCIONAL: Si tiene una licencia de Automation for Secure Hosts 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 Automation for Secure Hosts. Este módulo adicional está disponible para Automation 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. - OPCIONAL: Si tiene una licencia de Automation for Secure Hosts 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 Automation for Secure Hosts. Este módulo adicional está disponible para Automation 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. - 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. - 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. - Después de la actualización, cierre sesión del usuario
raas
con el siguiente comando:exit
- Inicie el servicio RaaS mediante el siguiente comando:
sudo systemctl enable raas sudo systemctl start raas
Actualizar el complemento principal mediante la interfaz de usuario de Automation Config
Automation Config actualiza automáticamente el complemento principal a la versión más reciente sin que el usuario deba realizar ninguna acción.
Sin embargo, también puede actualizar el complemento principal desde la interfaz de usuario de Automation Config. Para actualizar el complemento principal, en Automation Config, seleccione Administración y, a continuación, haga clic en Complementos principales. La pestaña Complemento principal muestra la versión del complemento y el entorno de Automation Config, junto con una lista de los identificadores del complemento principal. En la pestaña Complementos principales, puede seleccionar los complementos principales que desea actualizar y, a continuación, hacer clic en Actualizar.
Actualizar el complemento principal mediante la CLI
Después de actualizar correctamente el nodo de RaaS, puede actualizar los maestros de Salt que utilicen el complemento principal para conectarse a Automation Config.
# sseapi-config --default >/tmp/raas.conf # cd /etc/salt/master.d # vim -d raas.conf /tmp/raas.conf
A partir de la versión 8.13.0, el complemento principal incluye un motor tgtmatch que ahora descarga los grupos de destino que coinciden del servidor RaaS a los maestros de Salt. Se recomienda habilitar y configurar ese motor tgtmatch para que las conincidencias de grupos de destino respondan mejor, especialmente en entornos con:
- Un gran número de grupos de destino (100 o más)
- Un gran número de minions (3000 o más)
- Cambios frecuentes en los granos de minions (diarios o más frecuentes)
- Creación y eliminación frecuentes de minions (diarias o más frecuentes)
engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - tgtmatch: {} sseapi_local_cache: load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400 sseapi_tgt_match: poll_interval: 60 workers: 0 nice: 19
target_groups_from_master_only: true
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:
- Detenga el servicio
salt-master
mediante el siguiente comando:sudo systemctl stop salt-master
- 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 Automation 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*
- Para actualizar el complemento principal, desinstale y reinstale de forma manual el wheel de Python actualizado. Utilice los siguientes comandos de ejemplo, reemplazando con el nombre exacto del archivo wheel:
Nota: El complemento existente debe desinstalarse para evitar que haya varias instancias de sseapi-config.
pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl mv /etc/salt/master.d/raas.conf /tmp salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl cp /tmp/raas.conf /etc/salt/master.d/raas.conf systemctl restart salt-master
- 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 apython2.7
de este archivo apython3.6
.Nota:En función de cómo se haya instalado inicialmente Automation Config, las rutas de acceso al maestro de Salt de eAPI podrían encontrarse en
/etc/salt/master.d/raas.conf
en su lugar. - Compruebe la sección
engines
de/etc/salt/master.d/raas.conf
para confirmar si coincide con lo siguiente:engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {}
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
. - Si utiliza la autenticación de clave principal de Salt (recomendado), asegúrese de que
sseapi_username
ysseapi_password
estén comentados en/etc/salt/master.d/raas.conf
.#sseapi_username: #sseapi_password:
- Compruebe que las entradas
master_job_cache
yevent_return
se hayan establecido ensseapi
. El regresadorpgjsonb
ya no se encuentra disponible. - Inicie el servicio
salt-master
mediante el siguiente comando:sudo systemctl start salt-master
- Compruebe que el maestro de Salt se esté ejecutando como usuario "root" y no como usuario "salt". Si no es así, modifique el archivo /etc/salt/master.d/raas.conf para cambiar el usuario a raíz:
user: root
.
El proceso de actualización ya ha finalizado. Si detecta otros errores, consulte la Solución de problemas.