Bessonov.docker-swarm

Ansible-Rolle zur Einrichtung eines Docker-Swarm-Clusters

Das Projekt ist Build-Status Lizenz

Diese Rolle:

  • Startet ein Cluster
  • Verwalte Manager und Arbeiter

Die Ausführung basiert auf einer endlichen Zustandsmaschine und diese Rolle kann ein bestehendes Cluster in den gewünschten Zustand transformieren. Beachten Sie die Hinweise und testen Sie die Transformation vor der Ausführung!

Siehe Ansible Docker-Rolle zur Docker-Installation.

Anforderungen

Ansible 2.3 und installierte Docker.

Hinweise

Wenn sich die Manager-Knoten ändern, sollte mindestens einer von ihnen bei jedem Playbook-Durchlauf statisch bleiben. Zum Beispiel, um Manager-1 mit Manager-2 auszutauschen:

  1. Fügen Sie Manager-2 zu den Managern hinzu.
  2. Führen Sie das Playbook aus.
  3. Entfernen Sie Manager-1 aus den Managern.
  4. Führen Sie das Playbook erneut aus.

Senken oder entfernen Sie Knoten mit dem Playbook:

  1. Lassen Sie die Knoten im Inventar (siehe das Beispiel unten).
  2. Führen Sie das Playbook aus.
  3. Jetzt können Sie Knoten, die nicht am Cluster teilnehmen, aus dem Inventar entfernen.

Beispiel-Playbook

Installieren Sie die Rolle global mit:

ansible-galaxy install Bessonov.docker-swarm

oder lokal:

ansible-galaxy install --roles-path roles Bessonov.docker-swarm

Inventar (Sie können beliebige Namen für die Gruppen wählen, removed-nodes ist optional für ein neues Cluster):

[managers]
node-1
node-2
node-3

[workers]
node-1
node-3
node-4

[removed-nodes]
node-5
node-6

Playbook:

# sammle Fakten über Knoten, die aus dem bestehenden Cluster entfernt oder herabgestuft werden sollen
- hosts: removed-nodes:workers
  tasks: []

# Docker muss vorher installiert sein
# Sie können jede Rolle zur Docker-Installation verwenden
- hosts: managers:workers
  roles:
    - role: Bessonov.docker

- hosts: managers
  # Docker CLI unterstützt keinen gleichzeitigen Zugriff
  serial: 1
  roles:
    - role: Bessonov.docker-swarm
      swarm_worker_hosts: workers

      # optional: Standardparameter überschreiben, siehe `defaults/main.yml`
      swarm_cluster_bootstrap_parameters:
        --advertise-addr: enp0s8

Lizenz

Die MIT-Lizenz (MIT)

Copyright (c) 2017, Anton Bessonov

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos gestattet, die Software ohne Einschränkung zu nutzen, einschließlich, aber nicht beschränkt auf die Rechte zur Nutzung, Kopie, Modifikation, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder Verkauf von Kopien der Software, sowie die Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:

Die obige Urheberrechtshinweise und diese Erlaubnis müssen in allen Kopien oder erheblichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "WIE BESEHEN" OHNE GARANTIE ANY ART, AUSDRÜCKLICH ODER IMPLIZIT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF GARANTIEN DER MARKTFÄHIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SOLLEN DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR SÄMTLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNGEN HAFTBAR GEMACHT WERDEN, OB IN EINER KLAUSUR DER VERTRAG, UNRECHTMÄSSIGE HANDLUNG ODER ANDERS, ENTSTEHEND AUS, AUFGRUND ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN ANFÄNGEN IN DER SOFTWARE.

Über das Projekt

Setup and manage a docker swarm cluster

Installieren
ansible-galaxy install Bessonov.docker-swarm
GitHub Repository
Lizenz
mit
Downloads
12k
Besitzer