Loye Awọn eroja pataki ti Ansible - Apá 1


Onimọnran ifọwọsi Red Hat ni Idanwo adaṣe adaṣe Ansible (EX407) jẹ eto ijẹrisi tuntun nipasẹ Red Hat ti o ṣe idanwo awọn ọgbọn rẹ lati lo Ansible lati ṣe adaṣe iṣeto ti awọn eto ati awọn ohun elo.

Awọn jara yoo jẹ akole “Onimọnran ifọwọsi Red Hat ni Alamọ Aifọwọyi Ansible (EX407)” ati bo awọn ifọkansi idanwo wọnyi ti o da lori Idawọle Red Hat Enterprise Linux 7.5 ati Ansible 2.7, eyiti a yoo lọ bo ni jara Ansible yii:

Lati wo awọn owo ati forukọsilẹ fun idanwo ni orilẹ-ede rẹ, ṣayẹwo oju-iwe idanwo Idanimọ Aifọwọyi.

Ninu Apakan 1 yii ti jara Ansible, a yoo jiroro diẹ ninu iwoye ipilẹ ti awọn paati ipilẹ ni Ansible.

Ansible jẹ pẹpẹ adaṣe ọfẹ ati opensource nipasẹ RedHat eyiti o jẹ ki o ṣakoso ati ṣakoso awọn olupin pupọ lati ipo aarin kan. O jẹ apẹrẹ paapaa nigbati o ba ni ọpọ ati awọn iṣẹ atunwi ti o nilo lati ṣe. Nitorinaa dipo ibuwolu wọle sinu ọkọọkan awọn apa jijin wọnyi ati ṣiṣe awọn iṣẹ rẹ, o le ni itunu ṣe bẹ lati ipo aarin kan ati ni itunu ṣakoso awọn olupin rẹ.

Eyi jẹ anfani nigba ti o ba fẹ ṣetọju aitasera ninu imuṣiṣẹ ohun elo, dinku aṣiṣe eniyan ati adaṣe adaṣe ati ni itumo awọn iṣẹ ainipẹkun.

Nitoribẹẹ, awọn omiiran miiran wa si Ansible gẹgẹbi Puppet, Oluwanje, ati Iyọ. Sibẹsibẹ, Ansible jẹ ayanfẹ julọ nitori pe o rọrun lati lo ati rọrun lati kọ ẹkọ.

Kini idi ti o rọrun lati kọ ẹkọ o le beere? Eyi jẹ nitori Ansible lo YAML (Sibẹsibẹ Ede Iṣowo miiran) ninu iṣeto rẹ ati awọn iṣẹ adaṣe eyiti o jẹ kika-eniyan ati irọrun rọrun lati tẹle. YAML nlo ilana SSH lati ṣe ibasọrọ pẹlu awọn olupin latọna jijin, laisi awọn iru ẹrọ adaṣe miiran ti o nilo fun ọ lati fi oluranlowo sori awọn apa latọna jijin lati ba wọn sọrọ.

Ṣaaju ki a to bẹrẹ pẹlu Ansible, o ṣe pataki ki o faramọ diẹ ninu awọn ifopinsi ipilẹ ki o maṣe padanu tabi dapo bi a ṣe nlọ siwaju.

Akojọpọ jẹ faili ọrọ ti o ni atokọ ti awọn olupin tabi awọn apa ti o n ṣakoso ati tunto. Nigbagbogbo, a ṣe akojọ awọn olupin ti o da lori awọn orukọ ile-iṣẹ wọn tabi awọn adirẹsi IP.

Faili atokọ kan le ni awọn ọna ṣiṣe latọna jijin ti a ṣalaye nipasẹ awọn adirẹsi IP wọn bi o ti han:

10.200.50.50
10.200.50.51
10.200.50.52

Ni omiiran, wọn le ṣe atokọ ni ibamu si awọn ẹgbẹ. Ninu apẹẹrẹ ni isalẹ, a ni awọn olupin ti a gbe labẹ awọn ẹgbẹ 2 - awọn olupin ayelujara ati apoti isura data. Ni ọna yii wọn le ṣe itọkasi ni ibamu si awọn orukọ ẹgbẹ wọn kii ṣe awọn adirẹsi IP wọn. Eyi siwaju simplifies awọn ilana ṣiṣe.

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

O le ni awọn ẹgbẹ lọpọlọpọ pẹlu awọn olupin pupọ ti o ba wa ni agbegbe iṣelọpọ nla.

Iwe-orin kan jẹ apẹrẹ awọn iwe afọwọkọ iṣakoso iṣeto ti o ṣalaye bi o ṣe yẹ ki a ṣe awọn iṣẹ ṣiṣe lori awọn ọmọ-ogun latọna jijin tabi ẹgbẹ awọn ẹrọ onigbọwọ. Awọn iwe afọwọkọ tabi awọn itọnisọna ni a kọ ni ọna kika YAML.

Fun apeere, o le ni faili iwe-orin lati fi sori ẹrọ webserver Apache lori CentOS 7 ki o pe ni httpd.yml.

Lati ṣẹda iwe-idaraya ṣiṣe aṣẹ naa.

$ touch playbook_name.yml

Fun apẹẹrẹ lati ṣẹda iwe-orin ti a pe ni httpd, ṣiṣe aṣẹ naa.

$ touch httpd.yml

Faili YAML kan bẹrẹ pẹlu awọn ibadi 3 bi o ti han. Ninu faili naa, ṣafikun awọn itọnisọna wọnyi.

---
- name: This installs and starts Apache webserver
  hosts: webservers

  tasks:
  - name: Install Apache Webserver 
    yum:   name=httpd  state=latest

 - name: check httpd status
    service:   name=httpd  state=started

Iwe-orin ti o wa loke nfi olupin wẹẹbu Afun sori awọn ọna latọna jijin ti a ṣalaye bi awọn alabojuto ni faili faili. Lẹhin fifi sori ẹrọ ti oju opo wẹẹbu, Ansible ṣayẹwo nigbamii ti o ba bẹrẹ olupin ayelujara Apache ati ṣiṣe.

Awọn modulu jẹ awọn ẹya ọtọtọ ti koodu ti a lo ninu awọn iwe-orin fun ṣiṣe awọn pipaṣẹ lori awọn ọmọ-ogun latọna jijin tabi awọn olupin. Kọọkan module ni atẹle nipa ariyanjiyan.

Ọna kika ipilẹ ti module jẹ bọtini: iye.

- name: Install apache packages 
    yum:   name=httpd  state=present

Ninu apẹrẹ koodu YAML ti o wa loke, -name ati yum jẹ awọn modulu.

Ere idaraya ti o dahun jẹ iwe afọwọkọ tabi itọnisọna ti o ṣalaye iṣẹ ṣiṣe lati gbe lori olupin kan. Akopọ awọn ere kan jẹ iwe-idaraya. Ni awọn ọrọ miiran, iwe-orin jẹ ikojọpọ ti awọn iṣere ọpọ, ọkọọkan eyiti o ṣalaye ni kedere iṣẹ-ṣiṣe lati ṣe lori olupin kan. Awọn iṣere wa ni ọna kika YAML.

Ti o ba ni ipilẹ ni siseto, lẹhinna o ṣeese o ti lo awọn oniyipada. Ni ipilẹṣẹ, oniyipada kan duro fun iye kan. Oniyipada kan le pẹlu awọn lẹta, awọn nọmba, ati awọn iha isalẹ ṣugbọn GBỌDỌ bẹrẹ pẹlu awọn lẹta nigbagbogbo.

Awọn oniyipada ni a lo nigbati awọn itọnisọna yatọ lati eto kan si ekeji. Eyi jẹ otitọ paapaa lakoko iṣeto tabi ọpọlọpọ awọn iṣẹ ati awọn ẹya.

Awọn oriṣi akọkọ ti awọn oniyipada mẹta mẹta wa:

  • Awọn oniyipada Playbook
  • Awọn oniyipada nkan-ọja
  • Awọn oniyipada pataki

Ni Ansible, awọn oniyipada ni a ṣalaye akọkọ lilo awọn vars k, lẹhinna atẹle oniyipada ati iye naa tẹle.

Itọkasi naa jẹ bi a ṣe han:

vars:
Var name1: ‘My first variable’
	Var name2:  ‘My second variable’

Wo koodu ti o wa ni isalẹ.

- hosts: webservers
  vars: 
    - web_directory:/var/www/html/

Ninu apẹẹrẹ ti o wa loke, oniyipada nibi ni web_directory ati pe o ṣe itọnisọna idahun lati ṣẹda itọsọna ninu ọna/var/www/html /.

Awọn otitọ jẹ awọn ohun-ini eto ti a kojọpọ nipasẹ Ansible nigbati o ṣe iwe-iṣere lori eto alejo kan. Awọn ohun-ini pẹlu orukọ olupin, idile OS, iru CPU, ati awọn ohun kohun CPU lati darukọ diẹ.

Lati ni iwoye nọmba awọn otitọ ti o wa fun lilo sọ aṣẹ naa.

$ ansible localhost -m setup

Bi o ti le rii, nọmba nla ti awọn otitọ ti han nipasẹ aiyipada. O le dín awọn abajade siwaju siwaju nipa lilo paramita àlẹmọ bi o ti han.

$ ansible localhost -m setup -a "filter=*ipv4"

Ni Ansible, faili iṣeto ni faili kan ti o ni awọn eto paramita oriṣiriṣi ti o pinnu bi Ansible ṣe n ṣiṣẹ. Faili iṣeto ni aiyipada ni faili ansible.cfg ti o wa ni/ati be be/ansible/liana.

O le wo faili iṣeto ni ṣiṣe:

$ cat /etc/ansible/ansible.cfg

Bi o ṣe le ṣakiyesi, ọpọlọpọ awọn iṣiro wa pẹlu bii akojo-ọja ati awọn ọna faili ikawe, olumulo sudo, awọn asẹ ohun itanna, awọn modulu, ati bẹbẹ lọ.

Ni afikun, o le ni awọn faili atunto pupọ ti n ṣiṣẹ pẹlu Ansible yato si faili atunto aiyipada rẹ.

Lẹhin ti o ti wo awọn paati akọkọ ni Ansible, a nireti pe o wa ni ipo lati tọju wọn ni ika ika rẹ ki o mu wọn jade bi a ti nlọ siwaju. Darapọ mọ wa lori akọle atẹle rẹ.