Hur man distribuerar en container med Ansible

Hur man distribuerar en behållare med Ansible Ta reda på hur man distribuerar en Docker-behållare med en Ansible-spellista.

Det finns så många sätt att distribuera containrar. Du kan använda Docker, Kubernetes, MicroK8s, AWS, Google Cloud Platform…. listan fortsätter och fortsätter. Men om du är en Ansvarsadministratör har du ännu en metod. Det är rätt, med en Ansible playbook kan du distribuera en Docker-behållare.

Och det, mina vänner, är exakt vad jag ska visa dig hur du gör. Jag kommer att demonstrera med bara två servrar, som båda kommer att köra Ubuntu Server 18.04. Du kan testa detta med så många servrar du vill, men jag föredrar att hålla det enkelt på denna nivå.

Hybridmoln: En guide för IT-proffs (nedladdning av TechRepublic)

Vad du behöver

För att detta ska fungera behöver du följande:

  • Minst två servrar (varav en har Ansible), installerade och körs
  • En användare med sudo-privilegier

Det är viktigt att du först går igenom guiden Hur man installerar Ansible på Ubuntu Server 18.04, annars fungerar det inte. Och se till att du följer stegen för att ställa in autentisering av SSH-nycklar.

Hur du installerar Docker

Eftersom vi kommer att distribuera en Docker-behållare behöver vi Docker installerat på varje maskin. Detta kan göras genom att öppna ett terminalfönster och utfärda följande kommando:

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

När installationen är klar, starta och aktivera dockartjänsten med kommandona:

 sudo systemctl starta dockaren sudo systemctl aktivera dockaren 

Slutligen lägger du till din användare i dockningsgruppen med kommandot:

 sudo usermod -aG dockare $ USER 

Logga ut och logga in igen så att ändringarna träder i kraft.

Hur man skapar katalogstrukturen och filerna

Skapa en ny katalog på Ansible-servern med följande kommando:

 mkdir docker_project 

Byt till docker_project-katalogen med kommandot cd docker_project och skapa en värdfil med kommandot:

 nano värdar 

Lägg till följande innehåll i den filen:

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

Där SERVER_IP är IP-adressen för de andra servern (erna). Spara och stäng filen.

Vi kommer att skapa en spellista som gör följande:

  • Installera aptitude
  • Installera ett antal beroenden
  • Lägg till ett dockningsförråd
  • Installera docker-ce
  • Installera docker-Python-modulen
  • Dra den officiella Ubuntu-bilden
  • Skapa fyra behållare baserade på Ubuntu-bilden

Ge ut kommandot nano ubuntu_playbook.yml . Klistra in följande i den nya filen (se till att formateringen följer YAML-standardformatet):

 --- - värdar: alla blir: true vars: create_containers: 4 default_container_name: docker default_container_image: ubuntu default_container_command: sleep 1d-uppgifter: - name: Installera aptitude med apt apt: name = aptitude state = senaste update_cache = ja force_apt_get = ja - name : Installera nödvändiga systempaket apt: name = {{item}} state = senaste update_cache = ja loop: 'apt-transport-https', 'ca-certifikat', 'curl', 'software-features-common', ' python3-pip ', ' virtualenv ', ' python3-setuptools ' - namn: Lägg till Docker GPG apt Key apt_key: url: https://download.docker.com/linux/ubuntu/gpg status: nuvarande - namn: Lägg till 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 = senaste - name: Installera Docker-modulen för Python pip: name: docker - name: Pull default Docker image docker_image: name: "{{default_container_image}}" source: pull - name: Create default c ontainers docker_container: name: "{{default_container_name}} {{item}}" image: "{{default_container_image}}" kommando: "{{default_container_command}}" tillstånd: närvarande med_sekvens: count = {{create_containers}} 

Spara och stäng filen. När du har fått en känsla för hur denna spellista fungerar kan du också ändra den så att den passar dina behov. Överväg detta som en solid mall för att distribuera containrar från Ansible.

Hur man kör Ansible-spelboken

Vi kan nu köra vår Ansible-spellista. För att göra detta, utfärda kommandot:

 ansible-playbook -i är ubuntu_playbook.yml --ask-be-pass 

Du blir ombedd att ange lösenordet för sudo för fjärranvändaren. Skriv det och tryck på Enter. Spelboken ska sedan köras utan att misslyckas. När spelboken är klar bör du se att utgången indikerar framgång ( figur A ).

Figur A

Our playbook has succeeded.

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

Vår spellista har lyckats.

Om du går till en av dina fjärrservrar och ger ut kommandodockaren ps -a, bör du se alla fyra ubuntu-containrar som körs ( figur B ).

Figur B

Our containers are running.

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

Våra containrar körs.

Och det är allt. Du vet nu hur man distribuerar en Docker-behållare med hjälp av en Ansible playbook. Det här är verkligen inte den enklaste vägen, men det gör det möjligt för dig att bli riktigt kreativ med både dina containrar och Ansible.

Cloud och allt som ett nyhetsbrev för tjänster

Det här är din resurs för det senaste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, molnsäkerhet och mycket mer. Levereras måndagar

Registrera dig idag

© Copyright 2020 | mobilegn.com