Slik distribuerer du en container med Ansible

Slik distribuerer du en container med Ansible Finn ut hvordan du distribuerer en Docker-container ved hjelp av en Ansible-spillbok.

Det er så mange måter å distribuere containere på. Du kan bruke Docker, Kubernetes, MicroK8s, AWS, Google Cloud Platform…. listen fortsetter og fortsetter. Men hvis du er en Ansible administrator, har du enda en metode. Det er riktig, med en Ansible playbook kan du distribuere en Docker-container.

Og det, vennene mine, er akkurat det jeg skal vise deg hvordan du gjør. Jeg skal demonstrere med bare to servere, som begge kjører Ubuntu Server 18.04. Du kan teste dette med så mange servere du vil, men jeg foretrekker å holde det enkelt på dette nivået.

Hybrid sky: En guide for IT-proffer (TechRepublic nedlasting)

Hva du trenger

For å få dette til å fungere, trenger du følgende:

  • Minst to servere (hvorav den ene har Ansible), installert og kjørt
  • En bruker med sudo-rettigheter

Det er viktig at du først går gjennom hvordan du installerer Ansible på Ubuntu Server 18.04-guiden, ellers fungerer ikke dette. Og sørg for at du følger trinnene for å sette opp SSH-nøkkelgodkjenning.

Slik installerer du Docker

Fordi vi skal distribuere en Docker-beholder, trenger vi Docker installert på hver maskin. Dette kan gjøres ved å åpne et terminalvindu og utgi følgende kommando:

 sudo apt-get install docker.io python3-docker -y 

Når installasjonen er fullført, start og aktiver docking-tjenesten med kommandoene:

 sudo systemctl start docker sudo systemctl enable docker 

Til slutt legger du brukeren til docker-gruppen med kommandoen:

 sudo usermod -aG docker $ USER 

Logg av og logg deg på igjen slik at endringene trer i kraft.

Hvordan lage katalogstruktur og filer

Opprett en ny katalog med den følgende kommandoen på Ansible-serveren:

 mkdir docker_project 

Bytt til docker_project-katalogen med kommandoen cd docker_project og lag en hosts-fil med kommandoen:

 nano verter 

I den filen legger du til følgende innhold:

 webserver SERVER_IP webserver: vars ansible_python_interpreter = / usr / bin / python3 

Hvor SERVER_IP er IP-adressen til de andre serverne. Lagre og lukk filen.

Vi skal lage en spillebok som gjør følgende:

  • Installer evne
  • Installer en rekke avhengigheter
  • Legg til et dokkerslager
  • Installer docker-ce
  • Installer docker Python-modulen
  • Trekk det offisielle Ubuntu-bildet
  • Lag fire containere basert på Ubuntu-bildet

Gi kommandoen nano ubuntu_playbook.yml . I den nye filen limer du inn følgende (pass på at formateringen følger standard YAML-format):

 --- - verter: alle blir: sanne vars: create_containers: 4 default_container_name: docker default_container_image: ubuntu default_container_command: sleep 1d oppgaver: - navn: Installer egnethet med apt apt: name = aptitude state = siste update_cache = ja force_apt_get = ja - navn : Installer nødvendige systempakker apt: name = {{item}} state = siste update_cache = ja loop: 'apt-transport-https', 'ca-certificates', 'curl', 'software-features-common', ' python3-pip ', ' virtualenv ', ' python3-setuptools ' - navn: Legg til Docker GPG apt Nøkkel apt_key: url: https://download.docker.com/linux/ubuntu/gpg tilstand: nåværende - navn: Legg til Docker Repository apt_repository: repo: deb https://download.docker.com/linux/ubuntu xenial stabil state: present - name: Update apt and install docker-ce apt: update_cache = ja name = docker-ce state = latest - name: Installer Docker Module for Python pip: name: docker - name: Trekk standard Docker image docker_image: name: "{{default_container_image}}" kilde: pull - name: Create default c ontainers docker_container: name: "{{default_container_name}} {{item}}" image: "{{default_container_image}}" kommando: "{{default_container_command}}" status: present with_sequence: count = {{create_containers}} 

Lagre og lukk filen. Når du har fått en følelse av hvordan denne spillboken fungerer, kan du også endre den slik at den passer dine behov. Tenk på dette som en solid mal som du kan distribuere containere fra Ansible.

Hvordan kjøre Ansible-spillboken

Vi kan nå kjøre Ansible-spillboken. For å gjøre dette, gi kommandoen:

 ansible-playbook -i er ubuntu_playbook.yml --ask-blitt-pass 

Du blir bedt om å angi sudo-passordet for den eksterne brukeren. Skriv det og trykk Enter. Lekeboken skal da kjøres uten å mislykkes. Når spillboken er ferdig, skal du se at utdataene indikerer suksess ( figur A ).

Figur A

Our playbook has succeeded.

" data-credit="" rel="noopener noreferrer nofollow">

Lekeboken vår har lyktes.

Hvis du går til en av dine eksterne servere og gir ut kommandodokeren ps -a, bør du se alle de fire ubuntu-containerne som kjører ( figur B ).

Figur B

Our containers are running.

" data-credit="" rel="noopener noreferrer nofollow">

Containerne våre kjører.

Og det er det. Du vet nå hvordan du distribuerer en Docker-container ved hjelp av en Ansible playbook. Dette er absolutt ikke den enkleste ruten, men det gjør det mulig for deg å bli skikkelig kreativ med både containere og Ansible.

Cloud og alt som et service nyhetsbrev

Dette er din go-to ressurs for det siste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, skysikkerhet og mye mer. Leveres mandager

Registrer deg i dag

© Copyright 2021 | pepebotifarra.com