Ansible este un instrument open source pentru automatizarea sarcinilor. Gestionează configurația serverelor Linux și Windows. Funcționează fără un agent, ceea ce înseamnă că Ansible utilizează SSH și autorizarea utilizatorului SSH curent.
Puteți utiliza Ansible pentru a automatiza trei tipuri de sarcini:
- Furnizare : configurați mai multe servere de care aveți nevoie în infrastructura dvs.
- Gestionarea configurației : Modificați configurația unei aplicații, a unui sistem de operare sau a unui dispozitiv; începe și oprește serviciile; instalați sau actualizați aplicațiile; implementează o politică de securitate sau execută o mare varietate de alte sarcini de configurare.
- Implementarea aplicațiilor : ușurează DevOps automatizând implementarea aplicațiilor dezvoltate intern în sistemele de producție.
Acest articol vă va ghida în procesul de instalare și configurare pentru Ansible pe CentOS 7, precum și configurația pentru administrarea unei mașini care rulează pe un Windows Server.
Cerințe preliminare
Instalare
Adăugați Depozitul EPEL
sudo yum install epel-release
Actualizați pachetele.
sudo yum -y update
După ce pachetele au fost actualizate, instalați Ansible cu yum.
sudo yum -y install ansible
Pentru a vă administra serverele Windows, va trebui să instalați următoarele pachete:
Instalați pachetele Python.
sudo yum -y install python-pip pip
Instalați WinRM (Windows Remote Management).
pip install pywinrm
Testați instalarea Ansible regăsind versiunea sa folosind următoarea comandă.
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)]
Accesați directorul Ansible.
cd /etc/ansible
Editați hostsfișierul cu editorul de text preferat.
nano hosts
Adăugați următoarele linii în partea de jos a windowsgrupului.
[windows]
server1.domain.local
server1.domain.local
Este necesară crearea unui bolt criptat care să conțină identificatorii de acces pentru serverul Windows. Pentru asta, vom crea un nou ymlfișier criptat . Numele fișierului trebuie să se potrivească cu grupul gazdă la care se va aplica. În cazul nostru, grupul creat este numit windows, deci fișierul va fi windows.yml.
mkdir group_vars
cd group_vars
ansible-vault create windows.yml
În ymlfișierul dvs. , adăugați următorii 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
Un script PowerShell este disponibil pentru a configura automat aparatul. Acest script va configura automat WinRM (Windows Remote Management) și va deschide firewallul.
Descărcați scriptul PowerShell de la Github .
Modificați regulile de execuție ale scripturilor PowerShell pentru a permite executarea scriptului.
Set-ExecutionPolicy RemoteSigned
Executați scriptul.
.\ConfigureRemotingForAnsible.ps1
Serverul dvs. Windows este acum pregătit pentru gestionarea de la distanță cu Ansible.