Jak zaktualizować Portainer za pomocą Ansible
- Oto samouczek wideo
Wymagania dla Ansible:
- użytkownik ansible dodany do każdego zdalnego węzła
- użytkownik ansible dodany do grupy sudo/wheel/admins
- grupa sudo/wheel/admins ustawiona w /etc/sudoers do wykonywania poleceń z podwyższonymi uprawnieniami
- Utwórz inwentarz ansible
1
|
sudo vim /etc/ansible/hosts
|
1
2
3
4
5
6
7
8
9
10
|
all:
children:
portainer:
hosts:
AdGuard:
ansible_host: 10.10.0.108
ansible_user: ansible
nginx-proxy-manager:
ansible_host: 10.10.0.137
ansible_user: ansible
|
- Utwórz playbook ansible. Zobacz wideo dla wyjaśnienia.
- Wprowadź poniższą zawartość do tego pliku.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
---
- name: Aktualizacja Portainer na kontenerze LXC AdGuard Home w Proxmox
hosts: portainer
become: yes
tasks:
- name: Zatrzymaj Portainer
shell: docker stop portainer
- name: Usuń Portainer
shell: docker rm portainer
- name: Utwórz wolumen, którego Portainer Server będzie używać do przechowywania swojej bazy danych
shell: docker volume create portainer_data
- name: Pobierz najnowszy Portainer
shell: sudo docker pull portainer/portainer-ce:latest
- name: Uruchom Portainer
shell: docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
|
- Uruchom playbook w następujący sposób:
1
|
ansible-playbook portainer.yml
|
Skrypty i pliki konfiguracyjne są dostępne
tutaj: