Pasar al contenido principal
sysadmin.org.mx

SysAdmin Sections

  • Secciones
    • Articulos
    • Clasificados
    • Hardware
    • Problemas comunes
    • Red de servicios
    • Software
    • Trucos y consejos
    • Linuxreal
User account menu
  • Iniciar sesión

Ruta de navegación

  1. Inicio

Actualización de Salt master para corregir problemas con minions

Por angel, 10 Abril, 2024

En este post corregiremos el problema "Invalid master key" con los nodos con Salt minion (minions) qué ocurre al tener diferentes versiones de salt.

Introducción

Desde hace varias semanas note que un conjunto de minions marcaban errores "Invalid master key", lo cual era extraño por que la misma configuración funcionaba sin problemas con otros minions.
Después de revisar logs en /var/log/salt/minion y usar algunos workarounds, se identificó el problema al tener diferentes versiones de Salt entre el salt-master y los salt-minions.

El ambiente es el siguiente:

salt-master: Rocky Linux 8.9 con Salt 3005.x
salt-minions: Rockly Linux 9.3 con Salt 3007.0

Aunque la diferencia entre versiones de Salt es mínima, en la documentación de Salt claramente dice que ejecutar minions con versiones más recientes que el master no esta garantizado puesto que el minion puede incluir cambios no soportados por el master.

Actualización del Salt master

Una vez identificado el problema, veamos el proceso de actualización:


Para actualizar el servidor salt-master

# Borrar la version vieja de salt y el repo anterior en caso de existir
dnf erase salt
rm -f /etc/yum.repos.d/salt.repo

# Actualizar el sistema en general para reducir problemas de dependencias
dnf update -y

# Configurar el nuevo repo de Salt
rpm --import https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
curl -fsSL https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo

# Instalar la nueva version de salt-master y salt-minion en el mismo host, para este ejemplo utilizaré el script de bootstraping de Salt
# -i específica el hostname del minion
# -A es el hostname del salt master
# -M installa el master y el minion, en este caso, el master también es minion
# -r Desactiva cualquier configuración, reutiliza la configuración previa
# stable 3007.0 es la última versión estable
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io && chmod +x bootstrap-salt.sh
./bootstrap-salt.sh -i salt-minion -A salt-master -M -r stable 3007.0
rm -f bootstrap-salt.sh

Algunas cosas a destacar sobre la actualización:

  1. En el caso de Rocky Linux hay que utilizar el repo de RHEL, CentOS Stream no es compatible

Puesto que el salt-minion ya cuenta con la última versión de Salt, solo hay que verificar que funcione correctamente. Esto se puede hacer de 2 formas:


# Probar que responsa el nodo indicando que ya no hay problema con las llaves
salt salt-minion test.ping

# Simular la sincronización de la configuración
salt salt-minion state.highstate test=TRUE

# Sincronizar la configuración
salt salt-minion state.highstate

Una vez que todo funciona correctamente, podemos regresar a administrar los minions de forma habitual!

Referencias
Instalación de Salt en RedHat (RHEL) 8 x86_64
Workaround del error "Invalid master key"
tags
salt
linux
  • Inicie sesión o registrese para enviar comentarios

Últimas publicaciones

  • Actualización de Salt master para corregir problemas con minions
  • Bootstrapping de servidores con Terraform y Salt
  • Comandos LINUX / BSD para todos
  • Redimensionamiento de particiones UFS sobre FreeBSD
  • Error de conexión de phpMyAdmin a AWS RDS (SELinux)
  • AWS S3 como sistema de archivos en Linux
  • Problema de conexión FTP usando pure-ftpd (Timeout)
  • Operation not permitted - connect(2)

Publicaciones destacadas

  • Reducción de latencia en arquitecturas híbridas con Amazon ElastiCache
  • Paravirtualización con XenServer
  • Administración de múltiples servidores usando Puppet
  • Servidores virtuales con ezjail
  • Manejo de respaldos con bacula
  • Configuración de MySQL Cluster en FreeBSD

Patrocinado por Nix Networks