ວິທີການ ນຳ ໃຊ້ສິນຄ້າຄົງຄັງແລະແບບເຄື່ອນໄຫວໃນ ຄຳ ຕອບ - ພາກທີ 4


ໃນພາກທີ 4 ຂອງຊຸດ Ansible ນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການ ນຳ ໃຊ້ສິນຄ້າຄົງຄັງແບບຄົງທີ່ແລະເຄື່ອນໄຫວເພື່ອ ກຳ ນົດກຸ່ມຂອງເຈົ້າພາບໃນ Ansible.

ໃນເອກະສານ Ansible, ບັນດາໂຮດຫລື server ທີ່ຖືກຄວບຄຸມໂດຍ Ansode control node ຖືກ ກຳ ນົດໄວ້ໃນເອກະສານສາງໂຮດຕິ້ງຕາມທີ່ໄດ້ອະທິບາຍໄວ້.

ເຈົ້າພາບທີ່ຖືກຈັດການສາມາດຖືກຈັດເຂົ້າເປັນລາຍການສ່ວນບຸກຄົນຫລືຖືກຈັດປະເພດພາຍໃຕ້ຊື່ກຸ່ມດັ່ງທີ່ພວກເຮົາຈະເຫັນຕໍ່ໄປ ໃນ Ansible, ມັນມີສອງປະເພດເອກະສານສາງ: Static ແລະ Dynamic.

ລອງເບິ່ງແຕ່ລະສິ່ງເຫຼົ່ານີ້ແລະເບິ່ງວ່າພວກເຮົາສາມາດຈັດການກັບມັນໄດ້ແນວໃດ. ໂດຍໃນປັດຈຸບັນ, ພວກເຮົາສົມມຸດວ່າທ່ານໄດ້ຕິດຕັ້ງ Ansible ແລ້ວໃນ node Control ຂອງທ່ານ, ແລະຕັ້ງຄ່າການເຊື່ອມຕໍ່ SSH ທີ່ບໍ່ມີລະຫັດລັບກັບໂຮດທີ່ທ່ານຈັດການ.

ໃນ Ansible, ເອກະສານສິນຄ້າຄົງຄັງແມ່ນເອກະສານຂໍ້ຄວາມ ທຳ ມະດາເຊິ່ງປະກອບມີລາຍຊື່ຜູ້ຈັດການທີ່ຖືກປະກາດພາຍໃຕ້ກຸ່ມໂຮດໂດຍໃຊ້ hostnames ຫຼືທີ່ຢູ່ IP.

ຊື່ກຸ່ມເຈົ້າພາບແມ່ນຖືກໃສ່ໃນວົງເລັບ i.e [ຊື່ກຸ່ມ] . ລາຍການເຈົ້າພາບທີ່ຖືກຈັດການຕໍ່ມາແມ່ນຢູ່ໃນຊື່ຂອງກຸ່ມ, ແຕ່ລະອັນແມ່ນຢູ່ໃນແຖວຂອງມັນ. ດັ່ງທີ່ໄດ້ປຶກສາຫາລືກັນກ່ອນ ໜ້າ ນີ້, ເຈົ້າພາບໄດ້ຖືກລະບຸໂດຍ ນຳ ໃຊ້ຊື່ໂຮດຫລືທີ່ຢູ່ IP.

[group name]

Host A ip_address 
Host B ip_address
Host c ip_address

ເພື່ອຈຸດປະສົງຂອງການສະແດງຕົວຢ່າງ, ພວກເຮົາຈະສ້າງເອກະສານສາງຄົງທີ່.

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

[database_servers]
173.82.220.239

[datacenter:children]
webservers
database_servers

ບັນທຶກເອກະສານແລະອອກ.

ດັ່ງທີ່ທ່ານສາມາດເຫັນໃນເອກະສານສາງຢູ່ຂ້າງເທິງ, ພວກເຮົາໄດ້ສ້າງ 2 ກຸ່ມເຈົ້າພາບ: webservers ແລະ database_servers. ພ້ອມກັນນີ້, ພວກເຮົາໄດ້ສ້າງກຸ່ມເພີ່ມເຕີມທີ່ມີຊື່ວ່າ datacenter ເຊິ່ງປະກອບມີກຸ່ມເຈົ້າພາບກຸ່ມທີ່ຖືກອ້າງອີງໂດຍ : ເດັກນ້ອຍ បច្ច័យດັ່ງທີ່ເຫັນຢູ່ຂ້າງເທິງ

Ansible ຍັງອະນຸຍາດໃຫ້ກຸ່ມເຈົ້າພາບຖືກຈັດໃສ່ໃນຊື່ກຸ່ມ. ໃນເອກະສານສິນຄ້າຄົງຄັງຂ້າງເທິງ, ກຸ່ມ webservers ແລະ database_servers ໄດ້ຖືກວາງຢູ່ພາຍໃຕ້ datacenter.

ໝາຍ ເຫດ: ບໍ່ ຈຳ ເປັນຕ້ອງວາງຜູ້ທີ່ຖືກຈັດການຢູ່ໃນກຸ່ມເຈົ້າພາບ. ທ່ານພຽງແຕ່ສາມາດລາຍຊື່ພວກມັນໂດຍໃຊ້ຊື່ໂຮດຫຼືທີ່ຢູ່ IP ຂອງພວກເຂົາ.

173.82.202.239
172.82.115.165
load_balancer.pnl.com

ບັດນີ້ໃຫ້ໃຊ້ ຄຳ ສັ່ງ Ansible ຈຳ ນວນ ໜຶ່ງ ສຳ ລັບອ້າງເຖິງເອກະສານສາງໂຮດ. syntax ພື້ນຖານ ສຳ ລັບການຈັດການສິນຄ້າຄົງຄັງແມ່ນສະແດງໃຫ້ເຫັນ.

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

ຍົກຕົວຢ່າງ,

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

ອີກທາງເລືອກ, ທ່ານສາມາດໃຊ້ຕົວອັກສອນຕົວແທນ * ເພື່ອທົດແທນການໂຕ້ຖຽງ ‘ທັງ ໝົດ’ .

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

ເພື່ອລົງລາຍຊື່ເຈົ້າພາບໃນກຸ່ມ, ກຳ ນົດກຸ່ມໂຮດຢູ່ໃນສະຖານທີ່ຂອງຮູບແບບເຈົ້າພາບ.

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

ໃນການຕັ້ງຄ່າ - ໂດຍສະເພາະການຕັ້ງຄ່າເມຄເຊັ່ນ AWS ທີ່ເອກະສານສິນຄ້າຄົງຄັງມີການປ່ຽນແປງຕະຫຼອດເວລາທີ່ທ່ານເພີ່ມຫລືລົບລ້າງເຄື່ອງແມ່ຂ່າຍ, ການຮັກສາແທັບຢູ່ໃນໂຮດທີ່ຖືກ ກຳ ນົດໄວ້ໃນເອກະສານສາງກາຍເປັນສິ່ງທ້າທາຍທີ່ແທ້ຈິງ. ມັນຈະກາຍເປັນເລື່ອງບໍ່ສະດວກທີ່ຈະກັບໄປຫາແຟ້ມເຈົ້າພາບແລະອັບເດດລາຍຊື່ເຈົ້າພາບກັບທີ່ຢູ່ IP ຂອງພວກເຂົາ.

ແລະນີ້ແມ່ນບ່ອນທີ່ສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວເຂົ້າມາຫຼີ້ນ. ດັ່ງນັ້ນສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວແມ່ນຫຍັງ? ສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວແມ່ນສະຄິບທີ່ຂຽນໃນ Python, PHP ຫລືພາສາການຂຽນໂປແກຼມອື່ນໆ. ມັນມີປະໂຫຍດໃນສະພາບແວດລ້ອມຂອງເມຄເຊັ່ນ AWS ບ່ອນທີ່ IP address ປ່ຽນເມື່ອເຄື່ອງແມ່ຂ່າຍເສມືນຖືກຢຸດແລະເລີ່ມຕົ້ນ ໃໝ່.

Ansible ໄດ້ພັດທະນາສະຄິບສາງ ສຳ ລັບແພລະຕະຟອມຟັງສາທາລະນະເຊັ່ນ Google Compute Engine, Amazon EC2, OpenStack, RackSpace, cobbler, ແລະອື່ນໆ.

  • ສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວເຮັດໄດ້ດີທີ່ສຸດໃນການຫຼຸດຜ່ອນຄວາມຜິດພາດຂອງມະນຸດຍ້ອນວ່າຂໍ້ມູນຖືກຮວບຮວມໂດຍໃຊ້ສະຄິບ.
  • ຕ້ອງມີຄວາມພະຍາຍາມ ໜ້ອຍ ທີ່ສຸດໃນການຈັດການສິນຄ້າຄົງຄັງ.

ທ່ານສາມາດຂຽນສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວທີ່ ກຳ ນົດເອງໃນພາສາການຂຽນໂປແກຼມທີ່ທ່ານເລືອກ. ສິນຄ້າຄົງຄັງຄວນສົ່ງຄືນຮູບແບບໃນ JSON ເມື່ອທາງເລືອກທີ່ ເໝາະ ສົມຖືກຜ່ານໄປ.

ສະຄິບທີ່ໃຊ້ໃນການສ້າງສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວຕ້ອງເຮັດໃຫ້ສາມາດປະຕິບັດໄດ້ເພື່ອໃຫ້ Ansible ສາມາດໃຊ້ມັນໄດ້.

ເພື່ອດຶງເອົາຂໍ້ມູນກ່ຽວກັບເຈົ້າພາບພາຍໃນສະຄິບແບບເຄື່ອນໄຫວແບບເຄື່ອນໄຫວພຽງແຕ່ ດຳ ເນີນການ.

# ./script --list 

ດັ່ງທີ່ໄດ້ລະບຸໄວ້ກ່ອນ ໜ້າ ນີ້, ຜົນຜະລິດຄວນຢູ່ໃນ JSON ໃນຮູບແບບລຸ່ມນີ້.

  • ບັນຊີລາຍຊື່ຂອງໂຮດທີ່ຈັດການຕໍ່ກຸ່ມ
  • ພົດຈະນານຸກົມຂອງຕົວແປ

  • ບັນດາເຈົ້າພາບແລະ hostvars

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

ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການສ້າງບັນດາສິນຄ້າຄົງຄັງແບບເຄື່ອນໄຫວແລະແບບເຄື່ອນໄຫວ. ສະຫລຸບລວມແລ້ວ, ເອກະສານສິນຄ້າຄົງຄັງແມ່ນເອກະສານຂໍ້ຄວາມ ທຳ ມະດາທີ່ບັນຈຸບັນຊີລາຍຊື່ເຈົ້າພາບທີ່ຖືກຄຸ້ມຄອງຫລືຂໍ້ມູນໄລຍະໄກທີ່ມີຕົວເລກແລະທີ່ຢູ່ IP ຄົງທີ່.

ໃນທາງກົງກັນຂ້າມ, ເອກະສານໂຮດຕິ້ງແບບເຄື່ອນໄຫວຮັກສາການປ່ຽນແປງໃນຂະນະທີ່ທ່ານເພີ່ມເຈົ້າພາບ ໃໝ່ ຫຼືລົບລ້າງເຄື່ອງເກົ່າ. ທີ່ຢູ່ IP ຂອງເຈົ້າພາບຍັງມີຄວາມຂະຫຍັນຂັນເຄື່ອນທີ່ເຈົ້າຢຸດແລະເລີ່ມຕົ້ນລະບົບໂຮດ ໃໝ່. ພວກເຮົາຫວັງວ່າທ່ານໄດ້ພົບເຫັນການສອນແບບນີ້ໃຫ້ຂໍ້ມູນ.