ວິທີການສ້າງແລະດາວໂລດບົດບາດກ່ຽວກັບ Galaxy ທີ່ສາມາດຕອບໄດ້ແລະໃຊ້ພວກມັນ - ພາກທີ 9


ໃນພາກທີ 9 ຂອງຊຸດ Ansible, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການສ້າງແລະດາວໂລດບົດບາດກ່ຽວກັບ Ansible Galaxy ແລະ ນຳ ໃຊ້ມັນ. Ansible ແມ່ນການຈັດການການຕັ້ງຄ່າແບບງ່າຍດາຍແລະມີປະສິດທິພາບແລະເຄື່ອງມືການຈັດຕັ້ງປະຕິບັດແບບອັດຕະໂນມັດເຊິ່ງເຮັດໃຫ້ວຽກງານສະລັບສັບຊ້ອນອັດຕະໂນມັດຢ່າງມີປະສິດຕິພາບ. ທ່ານສາມາດຈັດການກັບເຄື່ອງແມ່ຂ່າຍຫລາຍຮ້ອຍຫລືຫລາຍພັນເຄື່ອງຈາກ node ຄວບຄຸມແບບດຽວໂດຍໃຊ້ໄຟລ໌ playbook ດຽວ.

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

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

ບົດບາດແມ່ນ ໜ້າ ທີ່ງ່າຍໆຂອງປື້ມຫຼີ້ນ. ພາລະບົດບາດມີຫຼາຍສິ່ງທີ່ອາດຈະປະກອບ playbook ເປັນ: ວຽກງານ, ໄຟລ໌, ໂມດູນ, ຕົວປ່ຽນແປງແລະແມ່ແບບ. ນອກຈາກນີ້, ໃຫ້ສັງເກດວ່າແຕ່ລະບົດບາດຖືກ ຈຳ ກັດຕໍ່ ໜ້າ ວຽກສະເພາະໃດ ໜຶ່ງ ຫຼືຜົນຜະລິດທີ່ຕ້ອງການ.

ການສ້າງພາລະບົດບາດທີ່ສາມາດຕອບໄດ້

ເພື່ອສ້າງພາລະບົດບາດໃນ Ansible, ພຽງແຕ່ໃຊ້ syntax.

# ansible-galaxy init role_name 

ໄດເລກະທໍລີແລະເອກະສານທີ່ຫຼາກຫຼາຍຈະຖືກສ້າງຂື້ນໃນໄດເລກະທໍລີເຮັດວຽກຂອງທ່ານໃນປະຈຸບັນ. ໃນກໍລະນີນີ້, ຂ້ອຍໄດ້ຕັດສິນໃຈສ້າງພາລະບົດບາດໃນໄດເລກະທໍລີ/etc/responsible/role.

ໃຫ້ສ້າງບົດບາດທີ່ເອີ້ນວ່າ apache.

# ansible-galaxy init apache

ໃຊ້ ຄຳ ສັ່ງຕົ້ນໄມ້ເພື່ອໃຫ້ເບິ່ງຢູ່ໃນໂຄງສ້າງຂອງ ໜ້າ ທີ່.

# tree apache

ຕາມທີ່ທ່ານສາມາດເຫັນໄດ້, ໄດເລກະທໍລີຫຼາຍແຜ່ນໄດ້ຖືກສ້າງຂື້ນ, ເຖິງຢ່າງໃດກໍ່ຕາມ, ບໍ່ແມ່ນມັນທັງ ໝົດ ຈະຖືກ ນຳ ໃຊ້ເຂົ້າໃນປື້ມຫຼີ້ນ.

ໃນປັດຈຸບັນ, ເພື່ອ ນຳ ໃຊ້ບົດບາດທີ່ທ່ານໄດ້ສ້າງຂື້ນມາ ໃໝ່ ໃນປື້ມຫຼີ້ນ, ກຳ ນົດ ໜ້າ ວຽກຢູ່ໃນເອກະສານ main.yml ທີ່ມີຢູ່ໃນ ໜ້າ ວຽກຂອງບົດບາດ ໃໝ່ ຂອງທ່ານ.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

    - name: Install Apache2 on Ubuntu webserver
      apt:
         name: apache2
         state: installed

ຫລັງຈາກນັ້ນ, ສ້າງແຟ້ມເອກະສານຫຼີ້ນແລະເອີ້ນບົດບາດດັ່ງທີ່ສະແດງ.

--- 
- hosts: webservers
  roles:
   - apache

ການຕິດຕັ້ງພາລະບົດບາດຈາກ Ansible Galaxy

ບົດບາດມີບົດບາດ ສຳ ຄັນໃນການແລກປ່ຽນລະຫັດກັບຜູ້ຊົມໃຊ້ອື່ນໆໃນຊຸມຊົນ Ansible ໂດຍໃຊ້ເວທີ Ansible Galaxy. ໃນ Ansible Galaxy, ທ່ານໄດ້ຮັບພາລະບົດບາດຫລາຍພັນ ໜ້າ ທີ່ປະຕິບັດວຽກງານຕ່າງໆເຊັ່ນ: ການຕິດຕັ້ງເຊີບເວີແລະຖານຂໍ້ມູນ, ເຄື່ອງມືຕິດຕາມກວດກາແລະອື່ນໆ

Ansible Galaxy ແມ່ນຖານຂໍ້ມູນຫລືບ່ອນເກັບມ້ຽນຂອງພາລະບົດບາດ Ansible ທີ່ທ່ານສາມາດຍົກລະດັບໃນປື້ມຫຼີ້ນຂອງທ່ານແລະຊ່ວຍກະຕຸ້ນວຽກງານຂອງທ່ານໄດ້ດີຂື້ນ.

ເພື່ອຄົ້ນຫາບົດບາດໃນ Ansible Galaxy, ພຽງແຕ່ແລ່ນ ຄຳ ສັ່ງ.

# ansible-galaxy search <role>

ຍົກຕົວຢ່າງເພື່ອຄົ້ນຫາບົດບາດຊື່ວ່າ mysql run.

# ansible-galaxy search mysql

ດັ່ງທີ່ທ່ານເຫັນ, ມັນມີຫລາຍຮ້ອຍບົດບາດທີ່ກົງກັບ ຄຳ ຄົ້ນຂອງ mysql. ເຖິງຢ່າງໃດກໍ່ຕາມ, ບໍ່ແມ່ນພາລະບົດບາດທັງ ໝົດ ທີ່ທ່ານຈະຕັ້ງໃຈປະຕິບັດ, ສະນັ້ນມັນແນະ ນຳ ໃຫ້ທ່ານອ່ານ ຄຳ ແນະ ນຳ ຢ່າງລະມັດລະວັງ.

ເພື່ອລວບລວມຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບບົດບາດ, ພຽງແຕ່ ດຳ ເນີນ ຄຳ ສັ່ງ Ansible:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

ໃນຕົວຢ່າງຂອງພວກເຮົາ, ພວກເຮົາຈະຕິດຕັ້ງພາລະບົດບາດ 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

ພາລະບົດບາດໄດ້ຖືກດາວໂຫຼດແລະສະກັດເອົາໃນບັນດາພາລະບົດບາດໃນຕອນຕົ້ນຕັ້ງຢູ່/etc/ຕອບໄດ້/ພາລະບົດບາດ.

ຫຼັງຈາກນັ້ນບົດບາດສາມາດເອີ້ນໄດ້ໃນປື້ມຫຼິ້ນ, ຍົກຕົວຢ່າງ:

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql

ດຽວນີ້ທ່ານສາມາດແລ່ນປື້ມຫຼີ້ນ Ansible ໄດ້ຢ່າງປອດໄພດັ່ງທີ່ສະແດງໄວ້.

# ansible-playbook install_mysql.yml

ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດເຂົ້າເບິ່ງເວັບໄຊທ໌ Ansible Galaxy ຜ່ານຕົວທ່ອງເວັບຂອງທ່ານແລະຄົ້ນຫາດ້ວຍພາລະບົດບາດໃນການປະຕິບັດວຽກງານຕ່າງໆຕາມທີ່ໄດ້ລະບຸໄວ້ໃນ dashboard.

ຍົກຕົວຢ່າງ, ເພື່ອຄົ້ນຫາພາລະບົດບາດໃນການຕິດຕາມກວດກາເຊັ່ນ: elasticsearch, ໃຫ້ຄລິກໃສ່ຕົວເລືອກ ‘Monitoring Monitoring’ ແລະຄົ້ນຫາບົດບາດດັ່ງທີ່ສະແດງ.

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

ໃນປື້ມຫຼິ້ນ, ທ່ານຍັງສາມາດ ກຳ ນົດບົດບາດຫຼາຍກວ່າ ໜຶ່ງ ບົດ, ຕົວຢ່າງ.

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql
    • Aaronpederson.mariadb

ເພື່ອລາຍຊື່ພາລະບົດບາດທີ່ຕິດຕັ້ງ, ພຽງແຕ່ແລ່ນ.

# ansible-galaxy list

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