Desde el panel de control de Foreman, podemos ejecutar comandos de Linux en el host registrado, pero para eso debemos instalar el 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 Foreman o Katelo 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 el Foreman o Katelo El servidor ya está instalado y los clientes están registrados en él. Consulte las direcciones URL debajo de los siguientes
- Pasos para instalar y configurar Foreman Server en CentOS 7.x
- Cómo utilizar Katello Server en CentOS 7.x
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 Instalar 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 Configurar claves SSH para hosts de destino o registrados
[[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 el host registrado o en los servidores de destino.
Usa el ssh-copy-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/foreman-proxy/ ” tiene el propietario del archivo y los permisos de propiedad del grupo están configurados 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 Dynflow y ssh la función está disponible en el proxy inteligente.
Desde la 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 la pestaña de hosts –> Seleccione Todos los hosts
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 (uptime , 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. Comparta sus valiosos comentarios y opiniones 🙂