Desde el tablero de Foreman podemos ejecutar comandos de Linux en el host registrado, pero para eso tenemos que instalar Complemento de ejecución remota en su servidor Foreman o Katello. Con la ayuda de ‘capataz-instalador‘ podemos instalar el complemento de ejecución remota en la instalación nueva y existente de Capataz o Katello servidor.
La opción Ejecutar trabajo en el tablero de Foreman nos permite ejecutar comandos de Linux en los hosts de registro de inmediato. Esta opción se vuelve útil cuando queremos actualizar o ejecutar comandos en todos o en un grupo de hosts sobre la marcha.
En este tutorial asumo que o bien el Capataz o Katello El servidor ya está instalado y los clientes están registrados en él. Por favor, consulte las direcciones URL a continuación para lo siguiente
En mi caso, tengo un servidor katello ya instalado que está en funcionamiento y un cliente está registrado en él. Consulte los siguientes pasos para instalar el complemento de ejecución remota y ejecutar comandos en el host registrado con la opción ‘Ejecutar un trabajo’ de Foreman o Katello Dashboard.
Paso: 1 Instale el complemento de ejecución remota
El siguiente comando instalará y habilitará la opción de ejecución remota (Ejecutar trabajo) en su servidor Foreman o Katello.
[[email protected] ~]# foreman-installer --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh
Una vez que el comando anterior se ejecute con éxito, obtendremos un resultado similar al siguiente:
Paso:2 Configure las claves SSH para hosts de destino o registrados
SSH El mecanismo se utiliza para ejecutar comandos en los hosts registrados o de destino con la opción Ejecutar trabajo en el servidor capataz. Cada vez que instalamos el complemento de ejecución remota, el proxy inteligente configura las claves ssh predeterminadas en la carpeta «/usr/share/capataz-proxy/.ssh“. Podemos crear nuestras propias claves ssh siguiendo los siguientes pasos:
[[email protected] ~]# cd /usr/share/foreman-proxy/.ssh [[email protected] .ssh]# sudo -u foreman-proxy ssh-keygen -f ~foreman-proxy/.ssh/id_rsa_foreman_proxy -N ''
En caso de que SELinux se esté ejecutando en su servidor capataz, ejecute el siguiente comando.
[[email protected] ~]# restorecon -RvF ~foreman-proxy/.ssh
Ahora reinicie el servicio httpd, capataz-tareas y capataz-proxy.
[[email protected] ~]# systemctl restart httpd [[email protected] ~]# systemctl restart foreman-tasks [[email protected] ~]# systemctl restart foreman-proxy
Paso:3 Copie la clave pública ssh del servidor de Foreman en los servidores host o de destino registrados.
Utilizar el ssh-copia-id comando para copiar o distribuir la clave pública ssh a los hosts registrados. En mi caso tengo el Servidor CentOS 7 registrado en mi servidor capataz con el nombre “web.example.com”
[[email protected] ~]# ssh-copy-id -i ~foreman-proxy/.ssh/id_rsa_foreman_proxy.pub [email protected]
También asegúrese de que la carpeta “/var/tmp/capataz-proxy/» tiene el propietario del archivo y los permisos de propiedad del grupo se establecen como «capataz-proxy”
[[email protected] ~]# ls -ld /var/tmp/foreman-proxy/ drwxr-xr-x 3 foreman-proxy foreman-proxy 65 Mar 12 22:36 /var/tmp/foreman-proxy/ [[email protected] ~]#
Paso: 4 Ahora ejecute comandos en el host registrado con la opción Ejecutar trabajo
Inicie sesión en el panel de capataz y primero verifique si flujo dinámico y ssh La función está disponible en el proxy inteligente.
Desde el Pestaña infraestructura -> haga clic en Proxies inteligentes
En caso de que la función Dynflow y SSH no esté visible en los proxies inteligentes, haga clic en Editar y verifique si sus organizaciones y ubicaciones están actualizadas y luego haga clic en Enviar
Ahora ejecutemos los comandos en los hosts de registro. Desde el Ficha Anfitriones–> Seleccionar Todos los anfitriones
Seleccione y haga clic en el host en el que desea ejecutar comandos
haga clic en «Ejecutar trabajo» opción
Supongamos que quiero ejecutar tres comandos (tiempo de actividad, uname -r y nombre de host) en el anfitrión. Especifique los comandos en el campo de comandos separados por punto y coma (;). El ejemplo se muestra a continuación:
Haga clic en Enviar
Una vez que los comandos se ejecuten con éxito, obtendremos un mensaje de éxito en el Tablero como se muestra a continuación.
Para ver la salida de los comandos, haga clic en la opción Hosts en la ventana anterior y luego haga clic en Host (en mi caso, web.example.com)
Eso es todo de este tutorial. Espero que entiendan cómo habilitar el complemento de ejecución remota y ejecutar comandos de Linux desde Foreman Dashboard. Por favor, comparta sus valiosos comentarios y opiniones 🙂