czerwiec 9, 2020

Ansible on Windows

Ansible on Windows

Ansible jest narzędziem typu open source do udostępniania, zarządzania konfiguracją i wdrażania aplikacji . Działa na wielu systemach uniksowych i może konfigurować zarówno systemy uniksowe, jak i Microsoft Windows. Zawiera własny język deklaratywny do opisu konfiguracji systemu. Ansible został napisany przez Michaela DeHaana i przejęty przez Red Hat w 2015 roku. Ansible jest bezagentowe, tymczasowo łączy się zdalnie za pośrednictwem SSH lub zdalnego PowerShell (WinRM), aby wykonać swoje zadania.

Aby uruchomić oprogramowanie pod kontrolą systemu windows możemy wykorzystać Microsoft Windows Subsystem Linux który został udostępniony w systemie Windows 10 od kompilacji 16215.

Aktywacja WSL (Windows Subsystem Linux) jest mozliwa na dwa sposoby (z wykorzystaniem GUI lub PowerShell)

Aktywując Podsystem Windows dla systemu Linux

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

po uruchomieniu polecenia system pobierze wszystkie potrzebne biblioteki i zapyta czy chcemy uruchomić ponownie system, po ponownym uruchomieniu wchodzimy do sklepu "Microsoft Store"

w sklepie wyszukujemy interesującą nas dystrybucje, w chwili pisania dostępne były:

Ja wybrałem system Debian po zainstalowaniu pierwsze uruchomienie chwile trwa podczas uruchomienia definiujemy login (username) oraz hasło w aplikacji po chwili naszym oczom ukaże się:

po pierwszym uruchomieniu warto zaaktualizowac repozytoria oraz sam system osiągniemy to poleceniem:

polecenie

sudo apt update && sudo apt upgrade

Mając aktualny system możemy przejść do instalacji oprogramowania które będzie nam potrzebne podczas pracy:

ansible

Python3-winrm - pakiet wykorzystywany podczas pracy z hostami Microsoft Windows

Aby zainstalować oprogramowanie wykonujemy polecenie:

polecenie

sudo apt install ansible python3-winrm

mając juz wymagane oprogramowanie warto przygotować sobie katalog do pracy:

Tworzymy folder / katalog o nazwie ansible

Nadajemy mu uprawnienia - bardzo ważny krok

Wchodzimy do nowo stworzonego katalogu

polecenie

mkdir ansible
chmod 760 ansible/
cd ansible

we po wejsciu do katalogu roboczego tworzymy lokalny plik konfiguracyjny ansible.cfg  pozwoli on na wykorzystanie lokalnego pliku z hostami z którymi będziemy się łączyć

polecenie

nano ansible.cfg

nastepnie musimy stworzyc plik hosts w ktorym umiescimy definicje naszych hostow

polecenie

nano hosts

na poniższym zrzucie ekranu zobaczyc mozna przykladowy plik hosts zawierajacy grupe "win" w której znajduje sie jedna stacja o nazwie test-vm, oraz definicje zmiennych grupy które mowią oprogramowaniu ze ma wykorzystać protokół winrm do połączeń

po stworzeniu pliku inwentory mozemy przejsc do testow oprogramowanie ansible pozwala na uruchomienie modułu na dwa sposoby

ad hok lub za pomocą playbook

uruchomienie doraźne:

polecenie

ansible -m win_ping test vm

pierwszy test polaczenie mamy za sobą, nadszedł czas aby dokladnie to samo wykonać za pomocą wcześniej zdefiniowanego playbook

polecenie

nano first-playbook.yml

uruchomienie pierwszego playbook

polecenie

ansible-playbook first-playbook.yml