Ansible è uno strumento open source per l'automazione delle attività. Gestisce la configurazione dei server Linux e Windows. Funziona senza un agente, il che significa che Ansible utilizza SSH e l'autorizzazione SSH dell'utente corrente.
È possibile utilizzare Ansible per automatizzare tre tipi di attività:
- Provisioning : imposta diversi server necessari nella tua infrastruttura.
- Gestione della configurazione: modifica la configurazione di un'applicazione, sistema operativo o dispositivo; avviare e interrompere i servizi; installare o aggiornare applicazioni; attuare una politica di sicurezza; o eseguire una vasta gamma di altre attività di configurazione.
- Distribuzione delle applicazioni : semplificare DevOps automatizzando la distribuzione di applicazioni sviluppate internamente nei sistemi di produzione.
Questo articolo ti guiderà attraverso il processo di installazione e configurazione di Ansible su Debian Stretch, nonché la configurazione per l'amministrazione di una macchina in esecuzione su un Windows Server.
Prerequisiti
- Un utente sudo .
- Un'istanza del server Debian 9 "Stretch".
Installazione
Aggiungi la seguente riga a /etc/apt/sources.list
.
deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
Aggiungi le chiavi repo.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Aggiorna il sistema.
sudo apt-get update
Installa Ansible.
sudo apt-get install ansible
Per amministrare i tuoi server Windows, dovrai installare i seguenti pacchetti:
Installa i pacchetti Python.
sudo apt-get install python-pip pip
Installa WinRM (Gestione remota di Windows).
sudo apt-get install pywinrm
Conferma l'installazione Ansible
Testare l'installazione Ansible recuperando la sua versione utilizzando il seguente comando.
ansible --version
ansible 2.4.1.0
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible-2.4.1.0-py2.7.egg/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.13 (default, Jan 19 2017, 14:48:08) [GCC 6.3.0 20170118]
Vai alla directory Ansible.
cd /etc/ansible
Modifica il hosts
file con il tuo editor di testo preferito.
nano hosts
Aggiungi le seguenti righe nella parte inferiore del windows
gruppo.
[windows]
server1.domain.local
server1.domain.local
È necessario creare un deposito crittografato contenente gli identificativi di accesso per il server Windows. Per questo, creeremo un nuovo yml
file crittografato . Il nome del file deve corrispondere al gruppo host a cui deve essere applicato. Nel nostro caso, viene chiamato il gruppo creato windows
, quindi il file sarà windows.yml
.
mkdir group_vars
cd group_vars
ansible-vault create windows.yml
Nel tuo yml
file, aggiungi i seguenti parametri.
ansible_ssh_user: _your_ssh_user_
ansible_ssh_pass: _your_ssh_pass_
ansible_ssh_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
Uno script di PowerShell è disponibile per configurare automaticamente la macchina. Questo script configurerà automaticamente WinRM (Gestione remota di Windows) e aprirà il firewall.
Scarica lo script PowerShell da Github .
Modifica le regole di esecuzione degli script Powershell per consentire l'esecuzione dello script.
Set-ExecutionPolicy RemoteSigned
Esegui lo script.
.\ConfigureRemotingForAnsible.ps1
Windows Server è ora pronto per la gestione remota con Ansible.