Bessonov.docker-swarm

Rola Ansible do skonfigurowania klastra Docker Swarm

Projekt jest Status budowy Licencja

Ta rola:

  • Uruchamia klaster
  • Zarządza menedżerami i pracownikami

Wykonanie opiera się na maszynie stanowej, dlatego ta rola może przekształcić istniejący klaster w pożądany stan. Sprawdź uwagi i przetestuj przekształcenie przed wykonaniem!

Zobacz rolę Ansible do Dockera w celu instalacji Dockera.

Wymagania

Ansible 2.3 i zainstalowany Docker.

Uwagi

Jeśli zmieniają się węzły menedżerskie, co najmniej jeden z nich powinien pozostać statyczny przy każdym uruchomieniu playbooka. Na przykład, aby wymienić menedżera-1 na menedżera-2:

  1. Dodaj menedżera-2 do menedżerów
  2. Uruchom playbook
  3. Usuń menedżera-1 z menedżerów
  4. Uruchom playbook

Aby zdegradować lub usunąć węzły, użyj playbooka:

  1. Pozostaw węzły w inwentarzu (zobacz przykład poniżej)
  2. Uruchom playbook
  3. Teraz możesz usunąć węzły, które nie uczestniczą w klastrze, z inwentarza

Przykład Playbooka

Zainstaluj rolę globalnie za pomocą:

ansible-galaxy install Bessonov.docker-swarm

lub lokalnie:

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

Inwentarz (możesz wybrać dowolne nazwy grup, removed-nodes jest opcjonalne dla nowego klastra):

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

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

[removed-nodes]
node-5
node-6

Playbook:

# zbieraj informacje o węzłach, które powinny być usunięte lub zdegradowane z istniejącego klastra
- hosts: removed-nodes:workers
  tasks: []

# Docker musi być zainstalowany wcześniej
# możesz użyć dowolnej roli do instalacji Dockera
- hosts: managers:workers
  roles:
    - role: Bessonov.docker

- hosts: managers
  # interfejs CLI Dockera nie obsługuje jednoczesnego dostępu
  serial: 1
  roles:
    - role: Bessonov.docker-swarm
      swarm_worker_hosts: workers

      # opcjonalne: nadpisz domyślne parametry, zobacz `defaults/main.yml`
      swarm_cluster_bootstrap_parameters:
        --advertise-addr: enp0s8

Licencja

Licencja MIT (MIT)

Copyright (c) 2017, Anton Bessonov

Niniejszym udziela się zgody, bez opłat, każdej osobie, która uzyska kopię tego oprogramowania oraz powiązanych plików dokumentacji (zwanych dalej "Oprogramowaniem"), na korzystanie z Oprogramowania bez ograniczeń, w tym bez ograniczeń w zakresie praw do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybucji, sublicencjonowania oraz/lub sprzedaży kopii Oprogramowania, oraz na zezwalanie osobom, którym Oprogramowanie zostało dostarczone, na to, wszystko z zastrzeżeniem następujących warunków:

Podany powyżej zapis o prawach autorskich oraz niniejsze zezwolenie musi być dołączone do wszystkich kopii lub istotnych części Oprogramowania.

OPROGRAMOWANIE JEST DOSTARCZANE "TAK JAK JEST", BEZ ŻADNEJ GWARANCJI JAKIEGOKOLWIEK RODZAJU, WYRAŹNEJ LUB DOMNIEMANEJ, W TYM MIĘDZY INNYMI GWARANCJI HANDLOWOŚCI, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NARUSZENIA PRAW. W ŻADNYM PRZYPADKU AUTORZY LUB POSIADACZE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA ŻADNE ROSZCZENIA, SZKODY LUB INNE ODPowiedzialności, CZY TO W DZIAŁANIU UMOWNYM, DELIKTOWYM CZY INNYM, WYNIKAJĄCE Z, CZY W ZWIĄZKU Z OPROGRAMOWANIEM LUB UŻYTKOWANIEM CZY INNYMI TRANSAKCJAMI W OPROGRAMOWANIU.

O projekcie

Setup and manage a docker swarm cluster

Zainstaluj
ansible-galaxy install Bessonov.docker-swarm
Licencja
mit
Pobrania
12k
Właściciel