Implemente contenedores con Atomic Host, Ansible y Cockpit

En el transcurso de mi trabajo en sombrero rojo Yo trabajo con Estibador contenedores en Fedora huésped atómico diario. El huésped atómico de proyecto atómico es un sistema operativo de contenedor liviano que puede ejecutar contenedores de Linux en formato Docker. Se ha modificado para mejorar la eficiencia, lo que lo hace óptimo para usar como un sistema de tiempo de ejecución de Docker para entornos de nube.

Afortunadamente, encontré una excelente manera de administrar contenedores que se ejecutan en el host: Cabina . Cockpit es un administrador remoto para servidores GNU/Linux con una agradable interfaz de usuario web. Me permite administrar servidores y contenedores que se ejecutan en el host. Puede leer más sobre Cockpit en este artículo general publicado anteriormente aquí. Sin embargo, también quería automatizar la ejecución de contenedores en el host, lo que hice usando Ansible .

Tenga en cuenta que no podemos usar el comando dnf en Atomic Host. El host no está diseñado como un sistema operativo de uso general, sino para adaptarse mejor a los contenedores y otros fines. Pero sigue siendo muy fácil configurar aplicaciones y servicios en Atomic Host. Esta publicación le muestra cómo automatizar y simplificar este proceso.

Configuración de los componentes

Antes de comenzar, asegúrese de tener Ansible instalado en su sistema.

                      sudo dnf -y install ansible
                    

Primero necesitaremos ejecutar el contenedor de la cabina en el host Atomic. Copie las fuentes hacia abajo desde https://github.com/trishnaguha/fedora-cloud-ansible en su máquina.

                      $ git clone https://github.com/trishnaguha/fedora-cloud-ansible.git

                    

Ahora cambie su directorio a cabina y edite su archivo de inventario como se muestra a continuación:

                      $ cd fedora-cloud-ansible
$ cd cockpit
$ vim inventory

                    

Realice los siguientes cambios:

  1. Reemplace IP_ADDRESS_OF_HOST con la dirección IP de su host Atomic.
  2. Reemplace PRIVATE_KEY_FILE en la línea ansible_ssh_private_key_file=’PRIVATE_KEY_FILE’ con su archivo de clave privada SSH.

Ahora guarde y salga del archivo de inventario.

A continuación, edite el archivo de configuración de ansible:

                      $ vim ansible.cfg

                    

Reemplace User en la línea remote_user=User con su usuario remoto en su host Atomic. Luego guarde y salga del archivo.

Poniendolo todo junto

Ahora es el momento de ejecutar el libro de jugadas. Este comando inicia la ejecución del contenedor Cockpit en el host Atomic:

                      $ ansible-playbook cockpit.yml

                    

Cockpit ahora se ejecuta en el host Atomic. Use su navegador web para visitar la IP pública de su instancia en el puerto 9090. Este es el puerto predeterminado de Cockpit. Por ejemplo, si la dirección IP de la instancia es 192.168.1.4, busque 192.168.1.4:9090. Ahora verá la interfaz web de Cockpit en el navegador web:

Gestión de sus contenedores

Inicie sesión con las credenciales de su host Atomic o como root. Luego, visite la sección Contenedores en el administrador de cabina para ver los contenedores que se ejecutan en su host Atomic. En el example a continuación, verás que también configuro otros como httpd y decir de nuevo :

Observe que la interfaz le permite iniciar y detener contenedores directamente en el administrador de cabina mediante los botones Ejecutar y Detener. También puede administrar su host Atomic utilizando el administrador de cabina. Vaya a Herramientas -> Terminales. Allí puede usar la terminal del host Atomic:

Panel de terminales de la cabina

Si planea implementar su aplicación en contenedores en el host Atomic, simplemente puede escribir un libro de jugadas para ello. Luego, puede implementar con el comando ansible-playbook y administrar los contenedores con Cockpit.

Ejecutando ansible-playbook para implementar múltiples contenedores

Siéntase libre de bifurcar o agregar libros de jugadas para contenedores en el repositorio https://github.com/trishnaguha/fedora-cloud-ansible .

Related Posts