Bii o ṣe le Fi sori ẹrọ ati Tunto Ọpa adaṣe Ansible fun Iṣakoso IT - Apá 1


Ansible jẹ orisun ṣiṣi, sọfitiwia adaṣe lagbara fun tito leto, ṣiṣakoso ati ṣiṣiṣẹ awọn ohun elo sọfitiwia lori awọn apa laisi akoko asiko kan nipa lilo SSH. Loni, pupọ julọ awọn irinṣẹ adaṣiṣẹ IT n ṣiṣẹ bi oluranlowo ni alejo latọna jijin, ṣugbọn ansible kan nilo asopọ SSH ati Python (2.4 tabi nigbamii) lati fi sori ẹrọ lori awọn apa latọna jijin lati ṣe iṣe rẹ.

Ọpọlọpọ awọn irinṣẹ adaṣe adaṣe iru wa ti o wa bi Puppet, Capistrano, Chef, Salt, Space Walk ati be be lo, ṣugbọn Ansible ṣe isọri si oriṣi olupin meji: awọn ẹrọ iṣakoso ati awọn apa.

Ẹrọ idari, nibiti a ti fi Ansible sori ẹrọ ati Awọn apa ti wa ni iṣakoso nipasẹ ẹrọ idari yii lori SSH. Ipo ti awọn apa ti wa ni pato nipasẹ iṣakoso ẹrọ nipasẹ akojopo rẹ.

Ẹrọ ti n ṣakoso (Ansible) ran awọn modulu si awọn apa nipa lilo ilana SSH ati awọn modulu wọnyi wa ni fipamọ fun igba diẹ lori awọn apa latọna jijin ati ibasọrọ pẹlu ẹrọ Ansible nipasẹ asopọ JSON lori iṣiṣẹ boṣewa.

Ansible jẹ oluranlowo-kere, iyẹn tumọ si ko si iwulo ti fifi sori oluranlowo eyikeyi lori awọn apa latọna jijin, nitorinaa o tumọ si pe ko si eyikeyi daemons isale tabi awọn eto ti n ṣe fun Ansible, nigbati ko ba n ṣakoso eyikeyi awọn apa.

Ansible le mu awọn 100 ti awọn apa lati inu eto kan lori asopọ SSH ati pe gbogbo iṣẹ naa le ṣe mu ati mu nipasẹ aṣẹ kan ‘ansible’. Ṣugbọn, ni awọn ọrọ miiran, nibiti o nilo lati ṣe awọn aṣẹ pupọ fun imuṣiṣẹ kan, nibi a le kọ awọn iwe-idaraya.

Awọn iwe idaraya jẹ opo awọn ofin eyiti o le ṣe awọn iṣẹ-ṣiṣe lọpọlọpọ ati awọn iwe-orin kọọkan wa ni ọna kika faili YAML.

A le lo olotitọ ni awọn amayederun IT lati ṣakoso ati gbe awọn ohun elo sọfitiwia si awọn apa latọna jijin. Fun apẹẹrẹ, jẹ ki a sọ pe o nilo lati fi sọfitiwia kan ṣoṣo tabi sọfitiwia ọpọ lọ si 100 ti awọn apa nipasẹ aṣẹ kan, nibi ti o wa ni ẹtọ wa si aworan, pẹlu iranlọwọ ti Ansible o le ran ọpọlọpọ bi awọn ohun elo si ọpọlọpọ awọn apa pẹlu aṣẹ kan ṣoṣo, ṣugbọn o gbọdọ ni oye siseto kekere kan fun agbọye awọn iwe afọwọkọ ti o dahun.

A ti ṣajọ lẹsẹsẹ kan lori Ansible, akọle ‘Igbaradi fun imuṣiṣẹ ti amayederun IT rẹ pẹlu Ọpa adaṣe IT adaṣe‘, nipasẹ awọn ẹya 1-4 ati bo awọn akọle wọnyi.

Ninu àpilẹkọ yii, a yoo fi ọ han bi o ṣe le fi 'Ansible' sori ẹrọ lori RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 ati awọn eto Debian 7/6 ati pe a yoo lọ nipasẹ awọn ipilẹ diẹ lori bawo ni a ṣe le ṣakoso olupin nipa fifi awọn idii sii, lilo awọn imudojuiwọn ati pupọ diẹ sii lati ipilẹ si pro.

  1. Eto Isẹ : RHEL/CentOS/Fedora ati Ubuntu/Debian/Linux Mint
  2. Jinja2 : Igbalode, iyara ati irọrun lati lo ẹrọ awoṣe aduro-nikan fun Python.
  3. PyYAML : Oluyẹwo YAML ati emitter fun ede siseto Python.
  4. parmiko : Ilu abinibi Python SSHv2 ikanni ikawe kan.
  5. enyịnplib2 : Ile-ikawe alabara HTTP kan ti o gbooro.
  6. sshpass : Ijẹrisi ọrọigbaniwọle ssh ti kii ṣe ibaraenisọrọ.

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

Igbesẹ 1: Fifi Ẹrọ Iṣakoso leralera - Ansible

1. Ṣaaju ki o to fi ‘Ansible’ sori olupin naa, jẹ ki a kọkọ ṣayẹwo awọn alaye ti olupin bi orukọ olupin ati Adirẹsi IP. Wọle sinu olupin bi olumulo root ki o ṣe pipaṣẹ isalẹ lati jẹrisi awọn eto eto ti a yoo lo fun iṣeto yii.

# sudo ifconfig | grep inet

2. Lọgan ti o ba jẹrisi awọn eto eto rẹ, o to akoko lati fi sọfitiwia ‘Ansible’ sori ẹrọ naa.

Nibi a yoo lo ibi ipamọ PPA ti o daju lori eto, kan ṣiṣe awọn ofin isalẹ lati ṣafikun ibi ipamọ naa.

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

Laanu, ko si ibi ipamọ Ansible osise fun awọn ere ibeji ti RedHat, ṣugbọn a le fi Ansible sori ẹrọ nipasẹ muu ibi ipamọ epel ṣiṣẹ labẹ RHEL/CentOS 6, 7 ati atilẹyin awọn pinpin fedora lọwọlọwọ.

Awọn olumulo Fedora le fi taara Ansible sori ẹrọ nipasẹ ibi ipamọ aiyipada, ṣugbọn ti o ba nlo RHEL/CentOS 6, 7, o ni lati mu repo EPEL ṣiṣẹ.

Lẹhin ti o tunto ibi ipamọ epel, o le fi Ansible sii nipa lilo pipaṣẹ atẹle.

$ sudo yum install ansible -y

Lẹhin ti a fi sii ni aṣeyọri, o le ṣayẹwo irufẹ nipasẹ ṣiṣe pipaṣẹ ni isalẹ.

# ansible --version

Igbesẹ 2: Ngbaradi Awọn bọtini SSH si Awọn ogun jijin

4. Lati ṣe imuṣiṣẹ tabi iṣakoso eyikeyi lati localhost si olupin latọna jijin akọkọ a nilo lati ṣẹda ati daakọ awọn bọtini ssh si olupin latọna jijin. Ninu gbogbo ogun jijin nibẹ akọọlẹ olumulo tecmint yoo wa (ninu ọran rẹ le jẹ oluṣamulo oriṣiriṣi).

Ni akọkọ jẹ ki a ṣẹda bọtini SSH ni lilo pipaṣẹ isalẹ ki o daakọ bọtini si awọn ogun jijin.

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

5. Lẹhin ti o ṣẹda Bọtini SSH ni aṣeyọri, bayi daakọ bọtini ti a ṣẹda si gbogbo olupin mẹta latọna jijin.

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

6. Lẹhin ti didakọ gbogbo Awọn bọtini SSH si alejo latọna jijin, ṣe bayi idanimọ bọtini ssh lori gbogbo awọn ọmọ-ogun latọna jijin lati ṣayẹwo boya ijẹrisi ṣiṣẹ tabi rara.

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