Cómo automatizar la instalación y el despliegue de Podman usando Ansible

Ansible es un motor de automatización de TI de código abierto que se utiliza para automatizar la organización de aplicaciones, la informatización del marco, el aprovisionamiento de la nube y muchas tareas de administración de TI. Ansible mejora la adaptabilidad, la consistencia y la confiabilidad del clima de TI.

Podman es una plataforma de contenedorización de código abierto que agrupa todas las dependencias para crear, enviar y ejecutar aplicaciones como contenedores Podman. El uso de la tecnología de virtualización de contenedores garantiza que una aplicación funcione sin problemas en cualquier entorno. La CLI de Podman puede implementar casi cualquier comando de la CLI de Docker.

En este artículo, le muestro cómo automatizar Podman con Ansible mostrando cómo automatizar varias operaciones en el nodo administrado. Estas son las siguientes operaciones que aprenderá a realizar en un nodo administrado:

  • Instalar podman
  • Extraiga la imagen del servidor httpd
  • Copie el código HTML en el directorio de destino
  • Ejecute el contenedor httpd y expóngalo al público
  • Inicie el servidor web

Para este procedimiento estoy usando Ansible 2.10.

Índice

Playbook para toda la configuración

Instalación de podman

En el package módulo, asigne el nombre del software que necesita instalar. La etiqueta de estado se usa para describir el estado deseado del software, aquí estoy usando regalo, lo que significa .

  - name: installing podman
    package:
      name: "podman"
      state: present

Extraiga la imagen del servidor httpd del repositorio de imágenes de Podman

Utilizando el Ansible podman módulo de imagen, tire de él httpd imagen.

  - name: Pull an image
    Contenedores.podman.podman_image:
      name: httpd

Copiar página web

Utilizando el copy módulo, copie la página web desde el origen al destino.

  - name: Copying file into home
    copy:
      src: /root/ws1/index.html
      dest: /home

Ejecute el contenedor httpd

Ejecute el contenedor en modo separado y adjúntelo al volumen después de exponer su puerto.

  - name: Re-create a redis container
    Contenedores.podman.podman_container:
      name: sarthak
      image: httpd
      state: started
      detach: true
      exposed_ports:
        - 80
      ports:
        - 4444:80
      volumes: /home/:/usr/local/apache2/htdocs/

Ejecute un libro de jugadas para ejecutar los servicios de Podman

Confirme que Podman está instalado en su nodo administrado

Podman no está instalado en este sistema, así que instálelo usando el podman.yml libro de juegos

podman --version

Luego ejecute el libro de jugadas:

ansible-playbook podman.yml

Confirme que Podman se ha instalado correctamente:

podman --version

Verifique que la imagen del servidor httpd se haya extraído con éxito:

podman ps

Compruebe el servidor web:

curl [ip address]:[port no]

Después de seguir todos estos pasos, Podman estará configurado en sus sistemas y el sitio web estará alojado en el puerto 4444.

El archivo completo del libro de jugadas:

---
- hosts: podman
  tasks:
  - name: installing podman
    package:
      name: "podman"
      state: present
  - name: Pull an image
    Contenedores.podman.podman_image:
      name: httpd
  - name: Copying file into home
    copy:
      src: /root/ws1/index.html
      dest: /home
  - name: Re-create a redis container
    Contenedores.podman.podman_container:
      name: sarthak
      image: httpd
      state: started
      detach: true
      exposed_ports:
        - 80
      ports:
        - 4444:80
      volumes: /home/:/usr/local/apache2/htdocs/

Conclusión

Ansible se puede usar para instalar Podman e implementar contenedores de Podman, lo que facilita la vida del administrador del sistema y agrega escalabilidad y flexibilidad a su entorno.

Artículos de interés

Subir