Wéi installéiere a konfiguréieren Ansible Automation Tool fir IT Management - Deel 1


Ansible ass eng Open Source, mächteg Automatisatiounssoftware fir Softwareapplikatiounen op den Noden ze konfiguréieren, ze managen an z'installéieren ouni Ënnerbriechung just andeems Dir SSH benotzt. Haut lafen déi meescht vun den IT Automation Tools als Agent am Remote Host, awer et ass verantwortlech just eng SSH Verbindung a Python (2.4 oder méi spéit) fir op de Fernknoten installéiert ze ginn fir seng Handlung auszeféieren.

Et gi vill ähnlech Automatisatiounsinstrumenter verfügbar wéi Puppet, Capistrano, Chef, Salt, Space Walk etc, awer Ansible kategoriséiert an zwou Aarte vu Server: Kontrollmaschinnen an Noden.

D'Kontrollmaschinn, wou Ansible installéiert ass an Node gi vun dëser Kontrollmaschinn iwwer SSH geréiert. D'Plaz vun de Wirbelen gëtt spezifizéiert andeems d'Maschinn duerch seng Inventar kontrolléiert.

D'Kontrollmaschinn (Ansible) setzt Moduler op Noden mat SSH Protokoll an dës Moduler ginn temporär op Fernknoten gelagert a kommunizéieren mat der Ansible Maschinn duerch eng JSON Verbindung iwwer de Standardoutput.

Ansible ass Agent-manner, dat heescht datt keng Agentinstallatioun op Remote Wirbelen néideg ass, also heescht et datt et keng Hannergrond Daemone gëtt oder Programmer ausféieren fir Ansible, wann et keng Noden geréiert.

Ansible kann 100's vun Noden aus engem eenzege System iwwer SSH Verbindung handhaben an déi ganz Operatioun kann mat engem eenzege Kommando ansible gehandhabt an ausgefouert ginn. Awer, an e puer Fäll, wou Dir musst verschidde Befehle fir eng Ausféierung ausféieren, hei kënne mir Playbooks bauen.

Playbooks si Rëtsch Kommandoen déi verschidde Aufgaben ausféiere kënnen an all Playbooks sinn am YAML Dateiformat.

Ansible kann an der IT-Infrastruktur benotzt ginn fir Softwareapplikatiounen op Fernknoten ze managen an z'installéieren. Zum Beispill, loosst eis soen datt Dir eng eenzeg Software oder Multiple Software op 100's vun Noden mat engem eenzege Kommando muss ofsetzen, hei kënnt ansible an d'Bild, mat der Hëllef vun Ansible kënnt Dir sou vill wéi Uwendungen op vill Noden mat engem eenzege Kommando ofsetzen, awer Dir musst e bësse Programméierungskenntnisser hunn fir d'ansible Scripten ze verstoen.

Mir hunn eng Serie iwwer Ansible zesummegestallt, den Titel 'Virbereedung fir d'Deployment vun Ärer IT Infrastruktur mat Ansible IT Automation Tool', duerch Deeler 1-4 an deckt déi folgend Themen.

An dësem Artikel wäerte mir Iech weisen wéi Dir 'Ansible' op RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 an Debian 7/6 Systemer installéiere wëllt an och mir ginn duerch e puer Basics iwwer wéi Dir verwalten. e Server andeems Dir Packagen installéiert, Updates applizéiert a vill méi vu Basis bis Pro.

  1. Betriebssystem: RHEL/CentOS/Fedora an Ubuntu/Debian/Linux Mint
  2. Jinja2: E modernen, séieren an einfach ze benotzen Stand-alone Template-Motor fir Python.
  3. PyYAML: E YAML Parser an Emitter fir d'Python Programmiersprache.
  4. parmiko: Eng gebierteg Python SSHv2 Kanalbibliothéik.
  5. httplib2: Eng ëmfaassend HTTP-Clientbibliothéik.
  6. sshpass: Eng net-interaktiv ssh Passwuert Authentifikatioun.

Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

Schrëtt 1: Kontrollmaschinn installéieren - Ansible

1. Ier Dir 'Ansible' um Server installéiert, loosst eis als éischt d'Detailer vum Server verifizéieren wéi Hostnumm an IP Adress. Login op de Server als Root Benotzer an fuert de Kommando hei ënnen fir Systemastellungen ze bestätegen, déi mir fir dëse Setup benotzen.

# sudo ifconfig | grep inet

2. Wann Dir Är Systemastellungen confirméiert, ass et Zäit fir 'Ansible' Software um System ze installéieren.

Hei wäerte mir offiziell Ansible PPA Repository um System benotzen, fuert just déi folgend Kommandoen fir de Repository ze addéieren.

$ sudo apt-add-repository ppa:ansible/ansible -y
$ sudo apt-get update && sudo apt-get install ansible -y

Leider gëtt et keen offiziellen Ansible Repository fir RedHat baséiert Klonen, awer mir kënnen Ansible installéieren andeems Dir Epel Repository ënner RHEL/CentOS 6, 7 an aktuell ënnerstëtzt Fedora Verdeelungen aktivéiert.

Fedora Benotzer kënnen Ansible direkt duerch Standard Repository installéieren, awer wann Dir RHEL/CentOS 6, 7 benotzt, musst Dir EPEL repo aktivéieren.

Nodeems Dir Epel Repository konfiguréiert hutt, kënnt Dir Ansible installéieren andeems Dir folgend Kommando benotzt.

$ sudo yum install ansible -y

Nodeems Dir erfollegräich installéiert ass, kënnt Dir d'Versioun verifizéieren andeems Dir ënnert dem Kommando ausféiert.

# ansible --version

Schrëtt 2: SSH Keys op Remote Hosts virbereeden

4. Fir all Deployment oder Gestioun vum Localhost op Remote Host auszeféieren, musse mir als éischt d'ssh Schlësselen op den Fernhost erstellen a kopéieren. An all Fernhost gëtt et e Benotzerkont tecmint (an Ärem Fall kann en anere Benotzer sinn).

Loosst eis als éischt e SSH-Schlëssel erstellen andeems Dir ënnert dem Kommando benotzt a kopéiert de Schlëssel op Fernhoster.

# ssh-keygen -t rsa -b 4096 -C "[email "

5. Nodeems Dir SSH Key erfollegräich erstallt hutt, kopéiert elo den erstallte Schlëssel op all dräi Remote Server's.

# ssh-copy-id [email 
# ssh-copy-id [email 
# ssh-copy-id [email 

6. Nodeems Dir all SSH Keys op Remote Host kopéiert hutt, maacht elo eng ssh Key Authentifikatioun op all Remote Hosten fir ze kontrolléieren ob d'Authentifikatioun funktionnéiert oder net.

$ ssh [email 
$ ssh [email 
$ ssh [email