Een container inzetten met Ansible

Een container inzetten met Ansible Ontdek hoe u een Docker-container kunt inzetten met een Ansible-playbook.

Er zijn zoveel manieren om containers te implementeren. U kunt Docker, Kubernetes, MicroK8s, AWS, Google Cloud Platform ... gebruiken. de lijst gaat maar door. Maar als je een Ansible-beheerder bent, heb je nog een andere methode. Dat klopt, met een Ansible-playbook kunt u een Docker-container inzetten.

En dat, mijn vrienden, is precies wat ik je ga laten zien hoe het moet. Ik zal het demonstreren met slechts twee servers, die beide Ubuntu Server 18.04 zullen draaien. Je kunt dit testen met zoveel servers als je wilt, maar ik houd het liever eenvoudig op dit niveau.

Hybride cloud: een gids voor IT-professionals (download van TechRepublic)

Wat je nodig hebt

Om dit te laten werken, hebt u het volgende nodig:

  • Ten minste twee servers (waarvan er één Ansible heeft), geïnstalleerd en actief
  • Een gebruiker met sudo-rechten

Het is belangrijk dat u eerst de handleiding Hoe u mogelijk op Ubuntu Server 18.04 installeert doorloopt, anders werkt dit niet. En zorg ervoor dat u de stappen volgt voor het instellen van SSH-sleutelverificatie.

Hoe Docker te installeren

Omdat we een Docker-container gaan inzetten, moeten we Docker op elke machine installeren. Dit kan worden gedaan door een terminalvenster te openen en de volgende opdracht te geven:

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

Nadat de installatie is voltooid, start u de dockerservice en schakelt u deze in met de opdrachten:

 sudo systemctl docker starten sudo systemctl docker inschakelen 

Voeg ten slotte uw gebruiker toe aan de koppelgroep met de opdracht:

 sudo usermod -aG docker $ USER 

Meld u af en weer aan zodat de wijzigingen van kracht worden.

Hoe de mapstructuur en bestanden te maken

Maak op de Ansible-server een nieuwe map met de volgende opdracht:

 mkdir docker_project 

Ga naar de map docker_project met de opdracht cd docker_project en maak een hosts-bestand met de opdracht:

 nano gastheren 

Voeg in dat bestand de volgende inhoud toe:

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

Waar SERVER_IP het IP-adres van de andere server (s) is. Sla het bestand op en sluit het.

We gaan een playbook maken dat het volgende doet:

  • Geschiktheid installeren
  • Installeer een aantal afhankelijkheden
  • Voeg een docker repository toe
  • Docker-ce installeren
  • Installeer de docker Python-module
  • Trek de officiële Ubuntu-afbeelding
  • Maak vier containers op basis van de Ubuntu-afbeelding

Voer het commando nano ubuntu_playbook.yml uit . Plak in dat nieuwe bestand het volgende (zorg ervoor dat de opmaak de standaard YAML-indeling volgt):

 --- - hosts: worden allemaal: true vars: create_containers: 4 default_container_name: docker default_container_image: ubuntu default_container_command: sleep 1d taken: - naam: aptitude installeren met apt apt: name = aptitude state = laatste update_cache = ja force_apt_get = yes - naam : Installeer vereiste systeempakketten apt: name = {{item}} state = laatste update_cache = yes lus: 'apt-transport-https', 'ca-certificaten', 'curl', 'software-properties-common', ' python3-pip ', ' virtualenv ', ' python3-setuptools ' - naam: voeg Docker GPG apt Key apt_key toe: url: https://download.docker.com/linux/ubuntu/gpg staat: aanwezig - naam: voeg Docker toe Repository apt_repository: repo: deb https://download.docker.com/linux/ubuntu xenial stable state: aanwezig - naam: Update apt en installeer docker-ce apt: update_cache = ja name = docker-ce staat = laatste - naam: Docker-module installeren voor Python pip: naam: docker - naam: Pull standaard Docker-afbeelding docker_image: name: "{{default_container_image}}" bron: pull - naam: Maak standaard c ontainers docker_container: name: "{{default_container_name}} {{item}}" image: "{{default_container_image}}" commando: "{{default_container_command}}" staat: present with_sequence: count = {{create_containers}} 

Sla het bestand op en sluit het. Als u eenmaal voelt hoe dit playbook werkt, kunt u het ook aanpassen aan uw behoeften. Beschouw dit als een solide sjabloon waarvoor u containers van Ansible wilt inzetten.

Hoe het Ansible-speelboek uit te voeren

We kunnen nu ons Ansible-speelboek uitvoeren. Voer hiervoor de opdracht uit:

 ansible-playbook -i hosts ubuntu_playbook.yml --ask-geworden-pass 

U wordt gevraagd om het sudo-wachtwoord voor de externe gebruiker. Typ dat en druk op Enter. Het playbook zou dan zonder fouten moeten worden uitgevoerd. Wanneer het playbook is voltooid, zou u moeten zien dat de uitvoer succes aangeeft ( Afbeelding A ).

Figuur A

Our playbook has succeeded.

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

Ons playbook is geslaagd.

Als u naar een van uw externe servers gaat en de opdracht docker ps -a uitgeeft, zou u alle vier ubuntu-containers moeten zien draaien ( Afbeelding B ).

Figuur B

Our containers are running.

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

Onze containers draaien.

En dat is het. U weet nu hoe u een Docker-container kunt implementeren via een Ansible-playbook. Dit is zeker niet de gemakkelijkste route, maar het maakt het wel mogelijk om echt creatief te worden met zowel je containers als Ansible.

Cloud en Everything as a Service-nieuwsbrief

Dit is uw favoriete bron voor het laatste nieuws over AWS, Microsoft Azure, Google Cloud Platform, XaaS, cloudbeveiliging en nog veel meer. Maandagen bezorgd

Schrijf je vandaag in

© Copyright 2020 | mobilegn.com