Bessonov.docker-swarm
Rola Ansible do skonfigurowania klastra Docker Swarm
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:
- Dodaj menedżera-2 do menedżerów
- Uruchom playbook
- Usuń menedżera-1 z menedżerów
- Uruchom playbook
Aby zdegradować lub usunąć węzły, użyj playbooka:
- Pozostaw węzły w inwentarzu (zobacz przykład poniżej)
- Uruchom playbook
- 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.
ansible-galaxy install Bessonov.docker-swarm