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; implementare 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 CentOS 7, nonché la configurazione per l'amministrazione di un computer in esecuzione su un server Windows.
Prerequisiti
Installazione
Aggiungi il repository EPEL.
sudo yum install epel-release
Pacchetti di aggiornamento.
sudo yum -y update
Dopo aver aggiornato i pacchetti, installare Ansible con yum.
sudo yum -y install ansible
Per amministrare i tuoi server Windows, dovrai installare i seguenti pacchetti:
Installa i pacchetti Python.
sudo yum -y install python-pip pip
Installa WinRM (Gestione remota di Windows).
pip install pywinrm
Testare l'installazione Ansible recuperando la sua versione utilizzando il seguente comando.
ansible --version
ansible 2.5.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
Vai alla directory Ansible.
cd /etc/ansible
Modifica il hostsfile con il tuo editor di testo preferito.
nano hosts
Aggiungi le seguenti righe nella parte inferiore del windowsgruppo.
[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 ymlfile crittografato . Il nome del file deve corrispondere al gruppo host a cui verrà 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 ymlfile, 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 di 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.