Ansible se stále více stává platformou pro nasazování aplikací a poskytování softwaru mezi vývojáři díky snadnému použití a flexibilitě. Kromě toho se snadno nastavuje a není vyžadována instalace žádného agenta na vzdálené uzly, místo toho Ansible používá autentizaci SSH bez hesla pro správu vzdálených hostitelů Unix/Linux. V tomto tématu se však podíváme na to, jak můžete spravovat Windows Host pomocí Ansible.
Nastavení laboratoře
K dosažení našeho cíle použijeme níže uvedené nastavení
- Uzel Ansible Control – CentOS 8 – IP:192.168.43.13
- Uzel Windows 10 – Windows 10 – IP:192.168.43.147
Část 1:Instalace Ansible na řídicí uzel (CentOS 8)
Než cokoli jiného, musíme nainstalovat Ansible na uzel Control, což je systém CentOS 8.
Krok 1:Ověřte, zda je Python3 nainstalován na ovládacím uzlu Ansible
Nejprve musíme potvrdit, zda je nainstalován Python3. CentOS 8 se dodává s Python3, ale pokud z nějakého důvodu chybí, nainstalujte jej pomocí příkazu:
# sudo dnf install python3
Dále udělejte Python3 jako výchozí verzi Pythonu spuštěním:
# sudo alternatives --set python /usr/bin/python3
Chcete-li ověřit, zda je nainstalován python3, spusťte příkaz:
# python --version
Přečtěte si také: Jak nainstalovat Ansible (Automation Tool) na CentOS 8/RHEL 8
Krok 2:Nainstalujte virtuální prostředí pro spuštění Ansible
Pro toto cvičení je preferováno izolované prostředí pro běh a testování Ansible. To udrží na uzdě problémy, jako jsou problémy se závislostmi a konflikty balíčků. Izolované prostředí, které se chystáme vytvořit, se nazývá virtuální prostředí.
Nejprve začněme instalací virtuálního prostředí na CentOS 8.
# sudo dnf install python3-virtualenv
Po instalaci virtuálního prostředí vytvořte virtuální pracovní prostor spuštěním:
# virtualenv env
# source env/bin/activate
Skvělý! Všimněte si, že výzva se nyní změnila na (env).
Krok 3:Nainstalujte Ansible
Po vytvoření virtuálního prostředí pokračujte a nainstalujte automatizační nástroj Ansible pomocí pip, jak je znázorněno:
# pip install ansible
Instalaci Ansible můžete později potvrdit příkazem:
# ansible --version
Chcete-li otestovat Ansible a zjistit, zda funguje na našem serveru Ansible Control, spusťte:
# ansible localhost -m ping
Skvělý! Dále musíme definovat hostitele nebo systém Windows v hostitelském souboru v řídicím uzlu Ansible. Proto otevřete výchozí soubor hostitelů
# vim /etc/ansible/hosts
Definujte hostitele Windows, jak je uvedeno níže.
Poznámka: Uživatelské jméno a heslo ukazují na uživatele v hostitelském systému Windows.
Dále uložte a ukončete konfigurační soubor.
Krok 4:Nainstalujte Pywinrm
Na rozdíl od systémů Unix, kde Ansible používá SSH ke komunikaci se vzdálenými hostiteli, s Windows je to úplně jiný příběh. Chcete-li komunikovat s hostiteli Windows, musíte nainstalovat Winrm.
Chcete-li nainstalovat winrm, znovu použijte nástroj pip, jak je znázorněno:
# pip install pywinrm
Část 2:Konfigurace hostitele systému Windows
V této části se chystáme nakonfigurovat náš vzdálený hostitelský systém Windows 10 pro připojení k uzlu Ansible Control. Chystáme se nainstalovat WinRM posluchač- zkratka pro Windows Remote – což umožní spojení mezi hostitelským systémem Windows a serverem Ansible.
Než tak učiníme, váš hostitelský systém Windows musí splnit několik požadavků, aby instalace proběhla úspěšně:
- Váš hostitelský systém Windows by měl být Windows 7 nebo novější . U serverů se ujistěte, že používáte Windows Server 2008 a novější verze.
- Ujistěte se, že váš systém používá .NET Framework 4.0 a později.
- Windows PowerShell by měla být verze 3.0 a novější
Po splnění všech požadavků nyní postupujte podle níže uvedených kroků:
Krok 1:Stáhněte si skript WinRM na hostiteli Windows 10
WinRM lze nainstalovat pomocí skriptu, který si můžete stáhnout z tohoto odkazu. Zkopírujte celý skript a vložte jej do editoru poznámkového bloku. Poté se ujistěte, že skript WinRM uložíte na nejvhodnější místo. V našem případě jsme soubor uložili na plochu pod názvem ConfigureRemotingForAnsible.ps1
Krok 2:Spusťte skript WinRM na hostiteli Windows 10
Dále spusťte PowerShell jako správce
Přejděte do umístění skriptu a spusťte jej. V tomto případě jsme přešli na pracovní plochu, kam jsme skript uložili. Dále pokračujte a spusťte skript WinRM na hostiteli WIndows:
.\ConfigureRemotingForAnsible.ps1
To trvá asi minutu a měli byste získat výstup zobrazený níže. Výstup ukazuje, že WinRM byla úspěšně nainstalována.
Část 3:Připojení k Windows Host z Ansible Control Node
Chcete-li otestovat připojení k hostiteli Windows 10, spusťte příkaz:
# ansible winhost -m win_ping
Výstup ukazuje, že jsme skutečně navázali připojení ke vzdálenému hostiteli Windows 10 z uzlu Ansible Control. To znamená, že nyní můžeme spravovat vzdáleného hostitele Windows pomocí Ansible Playbooks. Pojďme vytvořit vzorovou příručku pro hostitelský systém Windows.
Část 4:Vytvoření a spuštění příručky pro hostitele Windows 10
V této poslední části vytvoříme playbook a vytvoříme úlohu, která nainstaluje Chocolatey na vzdálený hostitel. Chocolatey je správce balíčků pro systém Windows. Hra je definována takto:
# vim chocolatey.yml --- - hosts: winhost gather_facts: no tasks: - name: Install Chocolatey on Windows10 win_chocolatey: name=procexp state=present
Uložte a zavřete soubor yml. Dále spusťte playbook podle obrázku
# ansible-playbook chocolatey.yml
Výstupem je ukazatel, že vše proběhlo v pořádku. A tímto končí toto téma o tom, jak můžete spravovat hostitele Windows pomocí Ansible.
Přečtěte si také : Jak vytvářet Ansible role a používat je v Příručce