So stellen Sie einen Container mit Ansible bereit

Bereitstellen eines Containers mit Ansible Erfahren Sie, wie Sie einen Docker-Container mithilfe eines Ansible-Playbooks bereitstellen.

Es gibt so viele Möglichkeiten, Container bereitzustellen. Sie können Docker, Kubernetes, MicroK8s, AWS, Google Cloud Platform… verwenden. Die Liste geht weiter und weiter. Wenn Sie jedoch ein Ansible-Administrator sind, haben Sie noch eine andere Methode. Mit einem Ansible-Playbook können Sie einen Docker-Container bereitstellen.

Und genau das, meine Freunde, werde ich Ihnen zeigen, wie es geht. Ich werde mit nur zwei Servern demonstrieren, auf denen Ubuntu Server 18.04 ausgeführt wird. Sie können dies mit so vielen Servern testen, wie Sie möchten, aber ich ziehe es vor, es auf dieser Ebene einfach zu halten.

Hybrid Cloud: Ein Leitfaden für IT-Profis (TechRepublic-Download)

Was du brauchen wirst

Damit dies funktioniert, benötigen Sie Folgendes:

  • Mindestens zwei Server (von denen einer Ansible hat), installiert und ausgeführt
  • Ein Benutzer mit Sudo-Berechtigungen

Es ist wichtig, dass Sie zuerst die Anleitung zur Installation von Ansible unter Ubuntu Server 18.04 durchgehen, da dies sonst nicht funktioniert. Befolgen Sie die Schritte zum Einrichten der SSH-Schlüsselauthentifizierung.

So installieren Sie Docker

Da wir einen Docker-Container bereitstellen, muss Docker auf jedem Computer installiert sein. Dies kann durch Öffnen eines Terminalfensters und Ausgeben des folgenden Befehls erfolgen:

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

Starten und aktivieren Sie nach Abschluss der Installation den Docker-Dienst mit den folgenden Befehlen:

 sudo systemctl Docker starten sudo systemctl Docker aktivieren 

Fügen Sie Ihren Benutzer schließlich mit dem folgenden Befehl zur Docker-Gruppe hinzu:

 sudo usermod -aG docker $ USER 

Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.

So erstellen Sie die Verzeichnisstruktur und die Dateien

Erstellen Sie auf dem Ansible-Server ein neues Verzeichnis mit dem folgenden Befehl:

 mkdir docker_project 

Wechseln Sie mit dem Befehl cd docker_project in das Verzeichnis docker_project und erstellen Sie mit dem folgenden Befehl eine Hosts-Datei:

 Nano-Gastgeber 

Fügen Sie in dieser Datei den folgenden Inhalt hinzu:

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

Dabei ist SERVER_IP die IP-Adresse der anderen Server. Speichern und schließen Sie die Datei.

Wir werden ein Spielbuch erstellen, das Folgendes bewirkt:

  • Eignung installieren
  • Installieren Sie eine Reihe von Abhängigkeiten
  • Fügen Sie ein Docker-Repository hinzu
  • Installieren Sie Docker-CE
  • Installieren Sie das Docker-Python-Modul
  • Ziehen Sie das offizielle Ubuntu-Image
  • Erstellen Sie vier Container basierend auf dem Ubuntu-Image

Geben Sie den Befehl nano ubuntu_playbook.yml ein . Fügen Sie in diese neue Datei Folgendes ein (stellen Sie sicher, dass die Formatierung dem Standard-YAML-Format entspricht):

 --- - Hosts: Alle werden: true vars: create_container: 4 default_container_name: docker default_container_image: ubuntu default_container_command: sleep 1d Aufgaben: - name: Installiere aptitude mit apt apt: name = aptitude state = letzter update_cache = yes force_apt_get = yes - name : Installieren Sie die erforderlichen Systempakete. python3-pip ', ' virtualenv ', ' python3-setuptools ' - Name: Add Docker GPG apt Schlüssel apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present - name: Add Docker Repository apt_repository: repo: deb https://download.docker.com/linux/ubuntu xenial stabiler Status: Präsensname: Update apt und installiere Docker-CE Apt: Update_Cache = Ja Name = Docker-CE Status = Neuester Name: Installieren Sie das Docker-Modul für Python pip: name: docker - name: Standard-Docker-Image abrufen docker_image: name: "{{default_container_image}}" source: pull - name: Standard erstellen c ontainers docker_container: name: "{{default_container_name}} {{item}}" image: "{{default_container_image}}" Befehl: "{{default_container_command}}" state: present with_sequence: count = {{create_containers}} 

Speichern und schließen Sie die Datei. Sobald Sie ein Gefühl dafür haben, wie dieses Playbook funktioniert, können Sie es auch an Ihre Bedürfnisse anpassen. Betrachten Sie dies als solide Vorlage für die Bereitstellung von Containern aus Ansible.

So führen Sie das Ansible-Playbook aus

Wir können jetzt unser Ansible-Playbook ausführen. Geben Sie dazu den folgenden Befehl ein:

 ansible-playbook -i hostet ubuntu_playbook.yml --ask-werden-pass 

Sie werden aufgefordert, das sudo-Passwort für den Remote-Benutzer einzugeben. Geben Sie das ein und drücken Sie die Eingabetaste. Das Playbook sollte dann unbedingt ausgeführt werden. Wenn das Playbook fertig ist, sollte die Ausgabe den Erfolg anzeigen ( Abbildung A ).

Abbildung A.

Our playbook has succeeded.

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

Unser Spielbuch ist erfolgreich.

Wenn Sie zu einem Ihrer Remoteserver wechseln und den Befehl docker ps -a eingeben, sollten alle vier Ubuntu-Container ausgeführt werden ( Abbildung B ).

Abbildung B.

Our containers are running.

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

Unsere Container laufen.

Und das ist es. Sie wissen jetzt, wie Sie einen Docker-Container mithilfe eines Ansible-Playbooks bereitstellen. Dies ist sicherlich nicht der einfachste Weg, aber es ermöglicht Ihnen, sowohl mit Ihren Containern als auch mit Ansible wirklich kreativ zu werden.

Cloud und alles als Service Newsletter

Dies ist Ihre Anlaufstelle für die neuesten Informationen zu AWS, Microsoft Azure, Google Cloud Platform, XaaS, Cloud-Sicherheit und vielem mehr. Montags geliefert

Heute anmelden

© Copyright 2020 | mobilegn.com