Bii o ṣe le Lo Awọn ohun elo Aimi ati Dynamic in Ansible - Apá 4
Ninu Apakan 4 ti jara Ansible, a yoo ṣalaye bawo ni a ṣe le lo iṣiro ati agbara titiipa lati ṣalaye awọn ẹgbẹ ti awọn ọmọ-ogun ni Ansible.
Ninu Ansites, awọn ogun ti a ṣakoso tabi awọn olupin eyiti o ṣakoso nipasẹ oju ipade iṣakoso Ansible ni a ṣalaye ninu faili atokọ ogun bi a ti ṣalaye ninu.
Awọn ogun ti a ṣakoso le boya ṣe atokọ bi awọn titẹ sii kọọkan tabi ṣe tito lẹtọ labẹ orukọ ẹgbẹ kan bi a yoo ṣe rii nigbamii. Ni Ansible, awọn oriṣi meji ti awọn faili akopọ wa: Aimi ati Dynamic.
Jẹ ki a wo kọọkan ninu iwọnyi ki a wo bi a ṣe le ṣakoso wọn. Lọwọlọwọ, a ro pe o ti fi Ansible sori ẹrọ tẹlẹ lori oju ipade Iṣakoso rẹ, ati tunto asopọ SSH ti ko ni Ọrọigbaniwọle si awọn ogun rẹ ti o ṣakoso.
Ni Ansible, faili iṣiro kan ti o jẹ faili ọrọ pẹtẹlẹ ti o ni atokọ ti awọn ọmọ-ogun ti a ṣakoso ṣalaye labẹ ẹgbẹ oluṣamulo nipa lilo boya awọn orukọ alejo tabi awọn adirẹsi IP.
Orukọ ẹgbẹ agbalejo kan wa ninu awọn akọmọ onigun mẹrin ie [orukọ ẹgbẹ]
. Awọn titẹ sii alejo ti o ṣakoso ni a ṣe atokọ ni isalẹ ni orukọ ẹgbẹ, ọkọọkan lori laini tirẹ. Gẹgẹbi a ti jiroro ni iṣaaju, a ṣe akojọ awọn ọmọ-ogun nipa lilo boya awọn orukọ ile-iṣẹ tabi awọn adirẹsi IP.
[group name] Host A ip_address Host B ip_address Host c ip_address
Fun awọn idi ti apejuwe, a yoo ṣẹda faili atokọ aimi kan.
# mkdir test_lab && cd test_lab # vim hosts
[webservers] 173.82.115.165 [database_servers] 173.82.220.239 [datacenter:children] webservers database_servers
Fipamọ faili naa ki o jade.
Bi o ṣe le rii ninu faili-ọja ti o wa loke, a ti ṣẹda awọn ẹgbẹ agbalejo 2: webservers ati database_servers. Pẹlupẹlu, a ti ṣẹda ẹgbẹ afikun ti a pe ni datacenter ti o pẹlu ẹgbẹ kan ti awọn ẹgbẹ alejo ti a tọka nipasẹ : awọn ọmọde
suffix bi a ti rii loke.
Ansible tun gba awọn ẹgbẹ ti awọn ọmọ-ogun laaye lati gbe labẹ orukọ ẹgbẹ kan. Ninu faili akojọ-ọja loke, awọn oju-iwe ayelujara ati awọn ẹgbẹ database_servers ti wa labẹ aaye data.
AKIYESI: Ko ṣe dandan lati fi awọn ogun ti o ṣakoso si ẹgbẹ ẹgbẹ kan. O le jiroro ni ṣe atokọ wọn nipa lilo awọn orukọ ile-iṣẹ wọn tabi awọn adirẹsi IP fun apẹẹrẹ.
173.82.202.239 172.82.115.165 load_balancer.pnl.com
Jẹ ki a lo awọn ofin Ansites diẹ diẹ fun itọkasi faili akọọlẹ ogun. Iṣeduro ipilẹ fun iṣakoso akojo ọja jẹ bi a ṣe han.
$ ansible {host-pattern} -i /path/of/inventory/file --list-hosts
Fun apere,
$ ansible all -i /root/test_labs/hosts --list-hosts
Ni omiiran, o le lo ohun kikọ egan ni *
lati ropo ariyanjiyan ‘gbogbo’
.
$ ansible * -i /root/test_labs/hosts --list-hosts
Lati ṣe atokọ awọn agbalejo ninu ẹgbẹ kan, ṣafihan ẹgbẹ ti o gbalejo ni aaye apẹrẹ-ogun.
$ ansible webservers -i /root/test_labs/hosts --list-hosts
Ninu iṣeto kan - paapaa iṣeto awọsanma bii AWS nibiti faili atokọ ṣe n yipada nigbagbogbo bi o ṣe ṣafikun tabi awọn olupin idinku, fifipamọ awọn taabu lori awọn ọmọ-ogun ti a ṣalaye ninu faili akojopo di ipenija gidi. O di aiṣeeṣe lati pada si faili alejo ati mimuṣe akojọ awọn ọmọ-ogun pẹlu awọn adirẹsi IP wọn.
Ati pe eyi ni ibiti akojopo agbara wa lati mu ṣiṣẹ. Nitorinaa kini akopọ agbara? Akojopo agbara jẹ iwe afọwọkọ ti a kọ ni Python, PHP tabi ede siseto miiran. O wa ni ọwọ ni awọn agbegbe awọsanma bii AWS nibiti awọn adirẹsi IP ṣe yipada ni kete ti a da olupin foju duro ti o bẹrẹ lẹẹkansii.
Ansible ti tẹlẹ ti dagbasoke awọn iwe afọwọkọ ọja fun awọn iru ẹrọ awọsanma gbangba bi Google Compute Engine, apẹẹrẹ Amazon EC2, OpenStack, RackSpace, cobbler, laarin awọn miiran.
- Awọn ohun elo ti o ni agbara ṣe iṣẹ pipe ti idinku aṣiṣe eniyan bi alaye ṣe pejọ ni lilo awọn iwe afọwọkọ. A nilo igbiyanju kekere ni ṣiṣakoso awọn akojo ọja.
O le kọ ti ara rẹ ṣe akanṣe ẹda agbara ni ede siseto ti o fẹ. Akojopo yẹ ki o pada ọna kika ni JSON nigbati awọn aṣayan ti o yẹ ba kọja.
Iwe afọwọkọ kan ti a lo lati ṣẹda akojopo agbara ni lati jẹ ki o ṣee ṣe ki Ansible le lo.
Lati gba alaye nipa awọn ọmọ-ogun inu iwe afọwọkọ akojopo ṣiṣe lasan.
# ./script --list
Gẹgẹbi a ti tọka tẹlẹ, iṣẹjade yẹ ki o wa ni JSON ni ọna kika ni isalẹ.
- Atokọ ti awọn ogun ti a ṣakoso fun ẹgbẹ kan
- Iwe-itumọ ti awọn oniyipada
- Awọn alejo ati awọn alejo gbigba
{ "webservers": { "hosts": [ "webserver1.example.com", "webserver2.example.com" ], "vars": {} }, "database_servers": { "hosts": [ "mysql_db1", "mysql_db2" ], "vars": {} }, "_meta": { "hostvars": { "mysql_db2": {}, "webserver2.example.com": {}, "webserver1.example.com": {}, "mysql_db1": {} } } }
Ninu nkan yii, a ti ṣe afihan bii o ṣe le ṣẹda awọn iṣiro aimi ati agbara. Ni akojọpọ, faili atokọ aimi jẹ faili ọrọ lasan ti o ni atokọ ti awọn ogun ti a ṣakoso tabi awọn apa latọna jijin ti awọn nọmba ati adirẹsi IP wa ni iduroṣinṣin nigbagbogbo.
Ni apa keji, faili agbalejo ti o ni agbara mu iyipada bi o ṣe ṣafikun awọn ọmọ-ogun tuntun tabi fifagile awọn atijọ. Awọn adirẹsi IP ti awọn ọmọ-ogun tun jẹ agbara bi o ṣe duro ati bẹrẹ awọn ọna ṣiṣe alejo gbigba tuntun. A nireti pe o rii alaye ti ẹkọ yii.