SUSE Manager es una herramienta única y poderosa que hace posible que su equipo de operaciones de TI administre el ciclo de vida completo de los sistemas Linux basados en RPM y DEB. Con una interfaz basada en web rica en funciones, puede utilizar SUSE Manager para administrar, implementar, configurar y auditar todos sus sistemas Linux, sin importar si se ejecutan en un entorno bare metal o en un entorno virtual.
SUSE Manager incluye varias herramientas de implementación, orquestación y automatización que no solo facilitan el trabajo del administrador, sino que también le brindan aún más poder para trabajar más rápido. Con SUSE Manager implementado, puede minimizar los costos de personal y maximizar la eficiencia.
Una forma en que SUSE Manager logra esto es mediante la integración con Ansible. Y aunque estas funciones ya están disponibles utilizando los componentes Salt integrados con SUSE Manager, la adición de Ansible ofrecerá opciones importantes para aquellos que ya están familiarizados con la tecnología.
¿Qué es Ansible?
Antes de profundizar en cómo SUSE Manager hace que Ansible sea más potente y accesible, primero debemos definir esta herramienta. La mayoría de los profesionales de TI ya están familiarizados con Ansible, ya que lo utilizan más del 77 por ciento de las empresas que requieren el uso de la administración de configuración centralizada. Para aquellos que no están familiarizados con Ansible, es una herramienta de código abierto que se utiliza para:
- Aprovisionamiento
- Gestión de la configuración
- Implementación de aplicaciones
Ansible se ejecuta en el sistema operativo Linux y se puede utilizar para configurar sistemas similares a Unix y Windows (tanto de escritorio como de servidor).
La mejor manera de describir Ansible es imaginar que tiene cientos (o miles) de computadoras en una red y necesita preparar el software para implementar, implementar software en algunas (o todas) de esas computadoras o realizar un cambio de configuración en cualquier número de esos sistemas. Hacer esto manualmente llevaría días o semanas. Sin embargo, la implementación desde un administrador centralizado solo toma minutos u horas.
Para cualquier empresa que busque ahorrar dinero y mantener los sistemas funcionando sin problemas y sin problemas, esta es una funcionalidad imprescindible que Ansible ofrece. Debido a que Ansible hace posible automatizar estas tareas, incluso pueden integrarse en su canal de DevOps, lo que aumenta la eficiencia y la confiabilidad.
Ansible funciona mediante un nodo controlador que se conecta a los nodos gestionados en una red. El nodo del controlador Ansible envía pequeños programas (llamados módulos Ansible) que ejecutan varias acciones (como instalar aplicaciones o configurar el sistema operativo o el software instalado) a los nodos administrados a través de SSH. Un módulo no es más que una descripción de lo que debería ser cierto en cualquier nodo administrado en un momento dado. Por ejemplo, un administrador puede crear un módulo que defina un estado en el que todos los escritorios de Linux deben incluir la última versión de ciertas piezas de software. Digamos, por ejemplo, que desea asegurarse de que todos los escritorios de Linux ejecuten la versión más reciente del navegador Firefox. Los módulos Ansible lo hacen posible.
Para lograr esto con éxito, el acceso de inicio de sesión (como con claves SSH) a los nodos administrados debe configurarse en el nodo del controlador.
Uno de los aspectos más importantes de Ansible es el libro de jugadas, que es un script de implementación y administración de configuración repetible y reutilizable que usted escribe y el nodo del controlador de Ansible implementa en los nodos administrados. Un solo libro de jugadas de Ansible puede apuntar a múltiples tipos de sistemas. Por ejemplo, ha gestionado nodos que funcionan como servidores web y algunos que funcionan como servidores de bases de datos. Podría crear un único libro de jugadas que actualice tanto el servidor Apache como el servidor PostgreSQL que podría verse así:
-
- nombre: Actualiza servidores web
hosts: webservers
remote_user: root
tareas:
- nombre: actualice Apache a la última versión
ansible.builtin.yum:
nombre: httpd
estado: último
- nombre: escriba el archivo de configuración de apache
ansible.builtin.template:
src: /srv/httpd.j2
dest: / etc / httpd.conf
- nombre: Actualizar
hosts PostgreSQL : bases de datos
usuario_remoto: raíz
tareas:
- nombre: actualice postgresql a la última versión
ansible.builtin.yum:
nombre: postgresql
estado: último
- nombre: asegúrese de que postgresql se haya iniciado
ansible.builtin.service:
nombre: postgresql
estado: iniciado
Una vez que haya creado el libro de jugadas, puede hacer que Ansible lo implemente automáticamente en los sistemas necesarios, ya sean decenas, cientos o miles.
También es importante comprender qué hace el archivo de inventario de Ansible. Este archivo de configuración en particular define el host y los grupos de hosts que recibirán comandos, módulos y tareas del nodo del controlador. En otras palabras, es una lista de sus nodos administrados, organizados en tareas (como hosts web y hosts de bases de datos), ubicaciones (como Warehouse A y HQ) o sistemas individuales. Un archivo de inventario podría verse así:
all:
hosts:
mail.example.com:
children:
webservers:
hosts:
wb1.example.com:
wb2.example.com:
dbservers:
hosts:
db1.example.com:
db2.example.com:
db3.example.com:
Ahora que tiene una idea fundamental de cómo funciona Ansible, veamos cómo se integra con SUSE Manager.
¿Cómo se integra Ansible con SUSE Manager?
Actualmente, SUSE Manager funciona con Ansible 2.9 (LTS), que se envía en el canal de herramientas cliente de SUSE Linux Enterprise 15 e incluye las siguientes integraciones:
- Introspección de archivos de inventario: después de definir una ruta de inventario, puede utilizar SUSE Manager para realizar una introspección de su contenido. Esto se soluciona en Sistema | Ansible | Inventarios.
- Descubrimiento de playbooks: después de definir un directorio de playbooks de Ansible, SUSE Manager puede descubrirlos desde System | Ansible | Playbooks.
- Ejecución de libros de jugadas: los libros de jugadas se pueden programar para su ejecución desde Sistema | Ansible | Playbooks.
Después de seleccionar un libro de jugadas para su ejecución, puede seleccionar el inventario para implementar el libro de jugadas desde el elemento desplegable. Si no se selecciona ningún inventario, se utilizará el inventario predeterminado configurado en su nodo de control. A continuación, puede elegir el momento para la ejecución del libro de jugadas o seleccionar una cadena de acciones.
A partir de SUSE Linux Enterprise Server (SLES) 15, Ansible se proporcionará como paquetes que se pueden implementar fácilmente en otras máquinas SLES. Para los sistemas operativos que no son de SUSE (como RHEL, Ubuntu y Debian), tendrá que descargar esos paquetes desde el repositorio de su sistema operativo u otro proveedor. Inicialmente, se inscribirán todos los controladores y se mostrarán el inventario y los libros de jugadas. Todos los libros de jugadas descubiertos se pueden ejecutar desde SUSE Manager (que a su vez activará Ansible en el controlador Ansible).
¿Por qué elegiría las funciones Ansible de SUSE Manager en lugar de la plataforma Ansible independiente?
Ansible y Salt son diferentes pero complementarios. Si ya está familiarizado con SUSE Manager, se dará cuenta de que algunos de los casos de uso también se pueden cumplir con Salt.
Cuando se trata de una operación de una sola vez, también conocida como "one-shot", Ansible, como hemos visto, es una gran herramienta, pero echa de menos algunas funciones que SUSE Manager agregará, como:
- Auditoría: al ejecutar sus libros de jugadas desde SUSE Manager, podrá realizar un seguimiento de estas ejecuciones, incluido el resultado, la salida y cualquier problema.
- Reutilización: puede conectarse a su entorno Ansible existente desde SUSE Manager y simplemente usar los mismos manuales e inventario.
- Programación: puede decidir cuándo ejecutar sus libros de jugadas
Sin embargo, como dijimos, Ansible y Salt son diferentes. Pero, ¿cuál es la principal diferencia? Si bien Ansible es imperativo (le dice al sistema cuál es la configuración deseada, pero no rastrea ningún cambio, ni vuelve al estado deseado), Salt es declarativo (usted especifica el estado deseado y si algo o alguien cambia el estado , Salt lo rastreará y volverá a aplicar el estado deseado.
Actualmente, existen algunas razones por las que le gustaría trabajar con la integración de Ansible en SUSE Manager:
- Si su empresa utiliza actualmente Red Hat Satellite para administrar RHEL, o Canonical Landscape para administrar Ubuntu, etc., y tiene la automatización y la experiencia de Ansible, volver a escribir todo eso en Salt antes de que su empresa pueda pasar a SUSE Manager sería una enorme barrera de entrada. Al proporcionar la integración de Ansible, podrá reutilizar su automatización existente y migrar a SUSE Manager inmediatamente. Esto le permitiría comenzar a escribir su nueva automatización en Salt o reescribir los libros de jugadas de Ansible en Salt (si es necesario).
- Desea implementar alguna aplicación que proporcione automatización Ansible (por ejemplo, para implementar, proteger, etc.), pero el proveedor de esa aplicación en particular no proporciona la automatización de Salt para un caso de uso o función en particular. Cuando ese sea el caso, SUSE y SUSE Manager estarán allí para ayudarlo a hacerlo posible.
- Está buscando agregar monitoreo en tiempo real junto con el poder de Ansible.
- Busca una mayor escalabilidad y orquestación impulsada por eventos.
- Quieres una herramienta GUI para administrar los libros de jugadas de Ansible.
- Los usuarios de Ansible tendrán una ruta de migración limpia a SUSE Manager, sin perder el esfuerzo que han invertido en sus libros de jugadas de Ansible. Por lo tanto, no solo no perderá el poder y la flexibilidad que se encuentran en Ansible, sino que también obtendrá la orquestación, el aprovisionamiento y la automatización adicionales que se encuentran en SUSE Manager. En otras palabras, no tendrá que reconstruir lo que ya hizo con Ansible, durante o después de la migración a SUSE Manager.
Con la ayuda de SUSE Manager y Salt, puede lograr un monitoreo en tiempo real con balizas, orquestación impulsada por eventos con reactores, escalabilidad con ZeroMQ / hub y una interfaz basada en web de primera clase.
Los posibles casos de uso de Ansible incluyen:
- Aprovisionamiento
- Gestión de la configuración
- Implementación de aplicaciones
- Entrega continua
- Automatización de la red
- Automatización de la seguridad
- Orquestación
Algunos de estos casos de uso se superponen con SUSE Manager, lo que significa que puede estar seguro de que obtendrá aún más potencia y flexibilidad al combinar los dos. Además, puede abordar situaciones en las que necesita ejecutar una acción una vez, así como situaciones en las que necesita mantener la configuración a lo largo del tiempo.
¿Qué tan fácil será para los administradores de Ansible migrar a SUSE Manager?
Simple: simplemente registre su controlador Ansible existente con SUSE Manager y comience a manejar esos clientes Ansible con SUSE Manager. Eso es. Le tomará cinco minutos hacer que esto suceda. Y, una vez que registre los clientes de Ansible como clientes de Salt (agente de Salt Minion o sin agente con Salt SSH), también se beneficiará de una serie de otras funciones que se ofrecen en SUSE Manager (que no encontrará en Ansible independiente).
SUSE Manager 4.2 también podrá registrar y operar nodos de control Ansible a través de la interfaz de usuario, en Sistemas | Resumen | Agregar sistemas. Después de seleccionar el nodo de control Ansible de Add-on Systems Types, el controlador se agregará y se mostrará como una página Ansible en el perfil del sistema.
Si ya tiene una colección de libros de jugadas en SUSE Enterprise Linux Server, puede agregar fácilmente el directorio que contiene esos libros de jugadas en la subpestaña Nodo de control de la pestaña Ansible del nodo de control. Escriba el directorio de sus libros de jugadas de Ansible en el campo de texto Agregar un directorio de libro de jugadas y haga clic en Guardar. Puede agregar tantos directorios como necesite. Luego puede configurar sus archivos de inventario escribiendo el nombre de un inventario específico en la sección Agregar un archivo de inventario y luego hacer clic en Guardar.
Una vez que haya hecho esto, sus libros de jugadas e inventarios estarán disponibles para su uso en SUSE Manager. Luego, encontrará esos libros de jugadas e inventarios en las subpestañas de Libros de jugadas e Inventarios en la pestaña Ansible del nodo del controlador.
Advertencias sobre la integración de SUSE Manager / Ansible
Por supuesto, hay algunas cosas a tener en cuenta sobre esta integración. Una cosa para recordar es que la primera versión de SUSE Manager que incluye soporte de Ansible debe considerarse una "vista previa técnica". Una vez que se lance SUSE Manager v4.2, Ansible estará mucho más integrado.
Para esa vista previa de la tecnología, algunas de las advertencias para la integración de Ansible incluyen:
- Los nodos de control de Ansible deben registrarse como clientes Salt.
- SUSE Manager solo opera su nodo de control Ansible, no lo configura.
- SUSE Manager aún no crea los inventarios de Ansible, pero utilizan los inventarios existentes en el nodo de control de Ansible.
- Actualmente, la única versión de Ansible compatible es la 2.9.
- Puede usar SLES 15 SP3 como su nodo de control de Ansible (por lo que no es necesario instalar y administrar el nodo de control desde una máquina separada).
- Aunque SUSE Manager es compatible con Ansible, asume que un host Ansible se ejecuta en algún lugar de su red y tiene guías, inventarios, etc. Luego, SUSE Manager se conecta a ese host existente.
- Las variables dentro de los libros de jugadas (es decir, que pasan el parámetro de qué se debe hacer exactamente en lugar de crear un libro de jugadas para cada situación) no son compatibles con SUSE Manager en este momento. Esta función será compatible y se proporcionará como actualización de mantenimiento para 4.2.
- Aunque Ansible se compone de varios productos y proyectos, SUSE Manager solo aprovecha la tecnología Ansible, que es Ansible Engine. SUSE Manager no se integrará con Ansible Tower, Content Collections, Automation Hub, Automation Analytics y Automation Services Catalog.