Otu esi eji ngwa ahịa Static na Dynamic Inventories nwere ike - Nkebi 4


N'ime akụkụ 4 nke usoro enwere ike, anyị ga-akọwa otu esi eji ngwa ngwa na-agbanwe agbanwe na-akọwapụta otu ndị ọbịa na ike.

N'ime ihe nwere ike ime, ndị ọbịa ma ọ bụ sava ndị a na-achịkwa nke ọnụ ụzọ njikwa ike nwere ike na-akọwapụta na faịlụ ngwa ahịa nnabata dị ka akọwara ya. Faịlụ ngwa ahịa nnabata bụ faịlụ ederede nke nwere aha nnabata ma ọ bụ adreesị IP nke ndị ọbịa ejirila ma ọ bụ sava dịpụrụ adịpụ.

Enwere ike ịdepụta ndị ọbịa a na-achịkwa dị ka ndenye nke onwe ma ọ bụ kewaa n'okpuru aha otu dịka anyị ga-emecha hụ. N'ime ike, enwere ụdị faịlụ ọnụọgụ abụọ: Static na Dynamic.

Ka anyị leba anya na nke ọ bụla n'ime ihe ndị a ma hụ ka anyị nwere ike isi jikwaa ha. Ka ọ dị ugbu a, anyị na-eche na ị tinyelarị Asible na ọnụ njikwa gị, wee hazie njikọ SSH na-enweghị paswọọdụ na ndị ọbịa gị jisiri ike.

N'ebe enwere ike, faịlụ ngwa ahịa static bụ faịlụ ederede dị larịị nwere ndepụta nke ndị ọbịa ejirila ekwuputa n'okpuru otu ndị ọbịa na-eji aha nnabata ma ọ bụ adreesị IP.

Aha otu ndị ọbịa na-agbakọba na brackets square i.e [aha otu]. E mechara depụta ndenye ndị ọbịa a na-achịkwa n'okpuru aha otu, nke ọ bụla n'ahịrị nke ya. Dị ka a tụlere na mbụ, a na-edepụta ndị ọbịa ahụ site na iji aha nnabata ma ọ bụ adreesị IP.

[group name]

Host A ip_address 
Host B ip_address
Host c ip_address

Maka ebumnuche nkọwa, anyị ga-emepụta faịlụ ngwa ahịa kwụ ọtọ.

# mkdir test_lab && cd test_lab
# vim hosts
[webservers]
173.82.115.165

[database_servers]
173.82.220.239

[datacenter:children]
webservers
database_servers

Chekwaa faịlụ wee pụọ.

Dịka ị na-ahụ na faịlụ ngwa ahịa dị n'elu, anyị ekepụtala otu ndị ọbịa abụọ: sava weebụ na nchekwa data_servers. Ọzọkwa, anyị ekepụtala otu mgbakwunye a na-akpọ datacenter nke gụnyere otu ndị nnabata nke : ụmụaka suffix gosipụtara dị ka a hụrụ n'elu.

Enwere ike na-enye ohere ka etinye otu ndị ọbịa n'okpuru aha otu. Na faịlụ ngwa ahịa dị n'elu, etinyela sava weebụ na otu nchekwa data_server n'okpuru ebe datacenter.

IHE: Ọ bụghị iwu na idowe ndị ọbịa ejirila n'ime otu nnabata. Ị nwere ike depụta ha naanị site na iji aha nnabata ha ma ọ bụ adreesị IP dịka ọmụmaatụ.

173.82.202.239
172.82.115.165
load_balancer.pnl.com

Ka anyị jiri iwu ole na ole nwere ike ịtu aka na faịlụ ngwa ahịa nke ndị ọbịa. Isi syntax maka njikwa ngwa ahịa dị ka egosiri.

$ ansible {host-pattern} -i /path/of/inventory/file --list-hosts

Ọmụmaatụ,

$ ansible all -i /root/test_labs/hosts --list-hosts

N'aka nke ọzọ, ị nwere ike iji akara ngosi * dochie arụmụka 'niile'.

$ ansible * -i /root/test_labs/hosts --list-hosts

Ka ịdepụta ndị ọbịa n'otu, kọwaa otu ndị ọbịa n'ebe a na-ahazi-ụkpụrụ.

$ ansible webservers -i /root/test_labs/hosts --list-hosts

N'ime nhazi - karịsịa nhazi igwe ojii dị ka AWS ebe faịlụ nchịkọta na-agbanwe mgbe niile ka ị na-agbakwunye ma ọ bụ wepụ ihe nkesa, idobe taabụ na ndị ọbịa akọwapụtara na faịlụ ngwa ahịa na-aghọ ezigbo ihe ịma aka. Ọ na-aghọ ihe na-adịghị mma ịlaghachi na faịlụ nnabata na imelite ndepụta nke ndị ọbịa na adreesị IP ha.

Na nke a bụ ebe ngwa ahịa dị ike na-abịa igwu egwu. Ya mere, gịnị bụ ngwa ahịa dị ike? Ngwaahịa dị ike bụ edemede edere na Python, PHP ma ọ bụ asụsụ mmemme ọ bụla. Ọ na-abịa na gburugburu igwe ojii dị ka AWS ebe adreesị IP na-agbanwe ozugbo a kwụsịrị ihe nkesa mebere ma malite ọzọ.

Enwere ike ewepụtala scripts ngwa ahịa maka nyiwe igwe ojii dị ka Google Compute Engine, Amazon EC2, OpenStack, RackSpace, cobbler, na ndị ọzọ.

  • Ihe nrụpụta dị iche iche na-arụ ọrụ zuru oke nke ibelata njehie mmadụ ka anakọtara ozi site na iji edemede.
  • A chọrọ obere mbọ na ijikwa ngwa ahịa.

Ị nwere ike dee ngwa ahịa dị ike hazie nke gị n'asụsụ mmemme nke ị họọrọ. Ngwaahịa kwesịrị iweghachi usoro na JSON mgbe agafere nhọrọ kwesịrị ekwesị.

Edemede eji emepụta ngwa ahịa dị ike ga-emerịrị ka ọ rụọ ọrụ nke ọma ka Ansible nwee ike iji ya.

Iji nwetaghachi ozi gbasara ndị ọbịa n'ime edemede ngwa ahịa dị ike, gba ọsọ ọsọ.

# ./script --list 

Dịka e kwuru na mbụ, mmepụta kwesịrị ịdị na JSON n'ụdị dị n'okpuru.

  • Ndepụta nke ndị ọbịa a na-achịkwa kwa otu
  • Akwụkwọ ọkọwa okwu nke mgbanwe

  • Ndị ọbịa na ndị ọbịa

{
  "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": {}
    }
  }
}

N'edemede a, anyị egosila otu esi emepụta ma static and dynamic inventories. Na nchịkọta, faịlụ ngwa ahịa static bụ faịlụ ederede dị larịị nwere ndepụta nke ndị ọbịa a na-achịkwa ma ọ bụ ọnụ ụzọ dịpụrụ adịpụ nke nọmba na adreesị IP na-adịgide adịgide.

N'aka nke ọzọ, faịlụ nnabata na-agbanwe agbanwe na-agbanwe ka ị na-agbakwunye ndị ọbịa ọhụrụ ma ọ bụ decommission ochie. Adreesị IP nke ndị ọbịa dịkwa ike ka ị na-akwụsị ma malite usoro nnabata ọhụrụ. Anyị nwere olile anya na ịchọta nkuzi a bara uru.