Abile sta diventando sempre più la piattaforma di riferimento per l'implementazione di applicazioni e il provisioning di software tra gli sviluppatori grazie alla sua facilità d'uso e flessibilità. Inoltre, è facile da configurare e non è necessario installare alcun agente sui nodi remoti, mentre Ansible utilizza l'autenticazione SSH senza password per gestire host Unix/Linux remoti. In questo argomento, tuttavia, vedremo come gestire Windows Host utilizzando Ansible.
Configurazione del laboratorio
Utilizzeremo la configurazione seguente per raggiungere il nostro obiettivo
- Nodo Ansible Control – CentOS 8 – IP:192.168.43.13
- Nodo Windows 10 – Windows 10 – IP:192.168.43.147
Parte 1:Installazione di Ansible sul nodo Control (CentOS 8)
Prima di ogni altra cosa, dobbiamo installare Ansible sul nodo Control che è il sistema CentOS 8.
Passaggio 1:verifica che Python3 sia installato sul nodo di controllo Ansible
Innanzitutto, dobbiamo confermare se Python3 è installato. CentOS 8 viene fornito con Python3 ma se manca per qualsiasi motivo, installa utilizzando il comando:
# sudo dnf install python3
Quindi, imposta Python3 come versione predefinita di Python eseguendo:
# sudo alternatives --set python /usr/bin/python3
Per verificare se python3 è installato, esegui il comando:
# python --version
Leggi anche : Come installare Ansible (strumento di automazione) su CentOS 8/RHEL 8
Fase 2:installa un ambiente virtuale per l'esecuzione di Ansible
Per questo esercizio è preferibile un ambiente isolato per l'esecuzione e il test di Ansible. Ciò manterrà a bada problemi come problemi di dipendenza e conflitti di pacchetti. L'ambiente isolato che creeremo è chiamato ambiente virtuale.
Innanzitutto, iniziamo con l'installazione dell'ambiente virtuale su CentOS 8.
# sudo dnf install python3-virtualenv
Dopo l'installazione dell'ambiente virtuale, crea uno spazio di lavoro virtuale eseguendo:
# virtualenv env
# source env/bin/activate
Grande! Osservare che il prompt ora è cambiato in (env).
Passaggio 3:installa Ansible
Dopo la creazione dell'ambiente virtuale, procedi e installa lo strumento di automazione Ansible utilizzando pip come mostrato:
# pip install ansible
Successivamente puoi confermare l'installazione di Ansible usando il comando:
# ansible --version
Per testare Ansible e vedere se funziona sul nostro server Ansible Control, esegui:
# ansible localhost -m ping
Grande! Successivamente, è necessario definire l'host o il sistema Windows su un file host sul nodo di controllo Ansible. Pertanto, apri il file hosts predefinito
# vim /etc/ansible/hosts
Definisci gli host Windows come mostrato di seguito.
Nota: Il nome utente e la password puntano all'utente sul sistema host Windows.
Quindi, salva ed esci dal file di configurazione.
Fase 4:installa Pywinrm
A differenza dei sistemi Unix in cui Ansible utilizza SSH per comunicare con host remoti, con Windows è tutta un'altra storia. Per comunicare con gli host Windows, devi installare Winrm.
Per installare winrm, ancora una volta, usa lo strumento pip come mostrato:
# pip install pywinrm
Parte 2:Configurazione dell'host Windows
In questa sezione, configureremo il nostro sistema host remoto Windows 10 per la connessione con il nodo Ansible Control. Stiamo per installare il Ascoltatore WinRM- abbreviazione di Windows Remote – che consentirà la connessione tra il sistema host Windows e il server Ansible.
Ma prima di farlo, il tuo sistema host Windows deve soddisfare alcuni requisiti affinché l'installazione abbia successo:
- Il tuo sistema host Windows dovrebbe essere Windows 7 o successivo . Per i server, assicurati di utilizzare Windows Server 2008 e versioni successive.
- Assicurati che sul tuo sistema sia in esecuzione .NET Framework 4.0 e successivi.
- Windows PowerShell dovrebbe essere la versione 3.0 e successive
Con tutti i requisiti soddisfatti, ora segui i passaggi indicati di seguito:
Passaggio 1:scarica lo script WinRM sull'host Windows 10
WinRM può essere installato utilizzando uno script che puoi scaricare da questo link. Copia l'intero script e incollalo nell'editor del blocco note. Successivamente, assicurati di salvare lo script WinRM nella posizione più comoda. Nel nostro caso, abbiamo salvato il file sul desktop con il nome ConfiguraRemotingForAnsible.ps1
Passaggio 2:esegui lo script WinRM sull'host Windows 10
Quindi, esegui PowerShell come amministratore
Passare alla posizione dello script ed eseguirlo. In questo caso, siamo passati alla posizione del desktop in cui abbiamo salvato lo script. Quindi, procedi ed esegui lo script WinRM sull'host Windows:
.\ConfigureRemotingForAnsible.ps1
Questo richiede circa un minuto e dovresti ottenere l'output mostrato di seguito. L'output mostra che WinRM è stato installato correttamente.
Parte 3:Connessione a Windows Host da Ansible Control Node
Per testare la connettività all'host Windows 10, esegui il comando:
# ansible winhost -m win_ping
L'output mostra che abbiamo effettivamente stabilito una connessione all'host Windows 10 remoto dal nodo Ansible Control. Ciò implica che ora possiamo gestire l'host Windows remoto utilizzando Ansible Playbooks. Creiamo un playbook di esempio per il sistema host Windows.
Parte 4:creazione ed esecuzione di un playbook per l'host Windows 10
In questa sezione finale, creeremo un playbook e creeremo un'attività che installerà Chocolatey sull'host remoto. Chocolatey è un gestore di pacchetti per il sistema Windows. Il gioco è definito come mostrato:
# vim chocolatey.yml --- - hosts: winhost gather_facts: no tasks: - name: Install Chocolatey on Windows10 win_chocolatey: name=procexp state=present
Salva e chiudi il file yml. Quindi, esegui il playbook come mostrato
# ansible-playbook chocolatey.yml
L'output è un puntatore che tutto è andato bene. E questo conclude questo argomento su come gestire l'host Windows utilizzando Ansible.
Leggi anche : Come creare ruoli Ansible e utilizzarli in Playbook