Ansible è un motore di automazione IT open source utilizzato per automatizzare l'organizzazione delle applicazioni, l'informatizzazione del framework, il provisioning del cloud e numerose attività di amministrazione IT. Ansible migliora l'adattabilità, la coerenza e l'affidabilità del clima IT.
Podman è una piattaforma di containerizzazione open source che racchiude tutte le dipendenze per la creazione, la spedizione e l'esecuzione di applicazioni come container Podman. L'utilizzo della tecnologia di virtualizzazione dei container garantisce che un'applicazione funzioni perfettamente in qualsiasi ambiente. Podman CLI può implementare quasi tutti i comandi dalla Docker CLI.
[ Ai lettori è piaciuto anche: Integrazione del sistema migliorata con Podman 2.0 ]
In questo articolo, ti mostro come automatizzare Podman con Ansible dimostrando come automatizzare varie operazioni sul nodo gestito. Queste sono le seguenti operazioni che impari a eseguire su un nodo gestito:
- Installa Podman
- Estrarre l'immagine del server httpd
- Copia il codice HTML nella directory di destinazione
- Esegui il contenitore httpd ed esponilo al pubblico
- Avvia il server web
Per questa procedura, sto usando Ansible 2.10.
Playbook per l'intera configurazione
Installazione di Podman
Nel package
modulo, assegna il nome del software che devi installare. Il tag di stato viene utilizzato per descrivere la condizione desiderata del software, qui uso present , che significa installa .
- name: installing podman
package:
name: "podman"
state: present
Estrarre l'immagine del server httpd dal repository di immagini Podman
Usando il Ansible podman
modulo immagine, tira il httpd
immagine.
- name: Pull an image
containers.podman.podman_image:
name: httpd
Copia pagina web
Usando il copy
modulo, copia la pagina web dall'origine alla destinazione.
- name: Copying file into home
copy:
src: /root/ws1/index.html
dest: /home
Esegui il contenitore httpd
Esegui il contenitore in modalità scollegata e collega il volume dopo aver esposto la sua porta.
- name: Re-create a redis container
containers.podman.podman_container:
name: sarthak
image: httpd
state: started
detach: true
exposed_ports:
- 80
ports:
- 4444:80
volumes: /home/:/usr/local/apache2/htdocs/
Esecuzione del playbook per eseguire i servizi Podman
Conferma che il tuo nodo gestito abbia installato Podman
Podman non è installato su questo sistema, quindi installalo utilizzando podman.yml
playbook.
podman --version
Quindi, esegui il playbook:
ansible-playbook podman.yml
Conferma che Podman è stato installato correttamente:
podman --version
Verifica che l'immagine del server httpd sia stata estratta correttamente:
podman ps
Controlla il server web:
curl [ip address]:[port no]
Dopo aver seguito tutti questi passaggi, Podman verrà configurato nei tuoi sistemi e il sito Web sarà ospitato sulla porta 4444.
Il file playbook completo:
---
- hosts: podman
tasks:
- name: installing podman
package:
name: "podman"
state: present
- name: Pull an image
containers.podman.podman_image:
name: httpd
- name: Copying file into home
copy:
src: /root/ws1/index.html
dest: /home
- name: Re-create a redis container
containers.podman.podman_container:
name: sarthak
image: httpd
state: started
detach: true
exposed_ports:
- 80
ports:
- 4444:80
volumes: /home/:/usr/local/apache2/htdocs/
[ Hai bisogno di più su Ansible? Partecipa a un corso di panoramica tecnica gratuito di Red Hat. Ansible Essentials:Semplicità nell'automazione Panoramica tecnica. ]
Concludi
Ansible può essere utilizzato per installare Podman e per distribuire i container Podman, semplificando la vita dell'amministratore di sistema e aggiungendo scalabilità e flessibilità al tuo ambiente.