ວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດເຄື່ອງມືອັດຕະໂນມັດທີ່ສາມາດອະທິບາຍໄດ້ ສຳ ລັບການບໍລິຫານດ້ານ IT - ພາກ 1


ສາມາດຕອບໄດ້ ແມ່ນໂປແກຼມໂປແກຼມອັດຕະໂນມັດທີ່ມີປະສິດຕິພາບສູງ ສຳ ລັບການຕັ້ງຄ່າ, ການຄຸ້ມຄອງແລະການ ນຳ ໃຊ້ໂປແກຼມໂປແກຼມໂປແກຼມຕ່າງໆໃນຂໍ້ໂດຍບໍ່ຕ້ອງໃຊ້ເວລາໃນຊ່ວງເວລາພຽງແຕ່ໃຊ້ SSH. ໃນມື້ນີ້, ເຄື່ອງມື IT ອັດຕະໂນມັດສ່ວນໃຫຍ່ ດຳ ເນີນການເປັນຕົວແທນຢູ່ໃນໂຮດຫ່າງໄກສອກຫຼີກ, ແຕ່ຕອບສະ ໜອງ ໄດ້ພຽງແຕ່ຕ້ອງການເຊື່ອມຕໍ່ SSH ແລະ Python (2.4 ຫຼືຫຼັງຈາກນັ້ນ) ທີ່ຈະຕິດຕັ້ງຢູ່ເທິງໄລຍະໄກເພື່ອປະຕິບັດມັນ.

ມີເຄື່ອງມືອັດຕະໂນມັດທີ່ຄ້າຍຄືກັນຫຼາຍຢ່າງທີ່ມີຢູ່ເຊັ່ນ: Puppet, Capistrano, Chef, Salt, Space Walk ແລະອື່ນໆ, ແຕ່ Ansible ຈັດແບ່ງອອກເປັນສອງປະເພດຂອງ server: ຄວບຄຸມເຄື່ອງຈັກແລະ nodes.

ເຄື່ອງຄວບຄຸມ, ບ່ອນທີ່ Ansible ຖືກຕິດຕັ້ງແລະ Nodes ຖືກຈັດການໂດຍເຄື່ອງຄວບຄຸມນີ້ຫຼາຍກວ່າ SSH. ສະຖານທີ່ຂອງຂໍ້ໄດ້ຖືກລະບຸໂດຍການຄວບຄຸມເຄື່ອງຈັກຜ່ານສາງຂອງມັນ.

ເຄື່ອງຄວບຄຸມ (Ansible) ໃຊ້ລະບົບໂມດູນໃຫ້ກັບຂໍ້ຕ່າງໆໂດຍໃຊ້ໂປໂຕຄອນ SSH ແລະໂມດູນເຫລົ່ານີ້ຖືກເກັບຮັກສາໄວ້ຊົ່ວຄາວໃນຂໍ້ມູນໄລຍະໄກແລະສື່ສານກັບເຄື່ອງ Ansible ຜ່ານການເຊື່ອມຕໍ່ JSON ຫຼາຍກວ່າຜົນຜະລິດມາດຕະຖານ.

Ansible ແມ່ນຕົວແທນ - ໜ້ອຍ, ນັ້ນ ໝາຍ ຄວາມວ່າບໍ່ ຈຳ ເປັນຕ້ອງມີການຕິດຕັ້ງຕົວແທນໃນຂໍ້ມູນຫ່າງໄກ, ດັ່ງນັ້ນມັນ ໝາຍ ຄວາມວ່າບໍ່ມີແຜນຜັງພື້ນຖານຫລືໂປແກຼມໃດໆທີ່ ກຳ ລັງ ດຳ ເນີນການ ສຳ ລັບ Ansible, ໃນເວລາທີ່ມັນບໍ່ຈັດການຂໍ້ມູນໃດໆ.

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

Playbooks ແມ່ນບັນດາ ຄຳ ສັ່ງເຊິ່ງສາມາດປະຕິບັດວຽກງານຫຼາຍຢ່າງແລະເຄື່ອງຫຼີ້ນແຕ່ລະຊຸດແມ່ນຢູ່ໃນຮູບແບບເອກະສານ YAML.

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

ພວກເຮົາໄດ້ລວບລວມຊຸດກ່ຽວກັບ Ansible, ຫົວຂໍ້ 'ກຽມຄວາມພ້ອມ ສຳ ລັບການຈັດສັນພື້ນຖານໂຄງລ່າງດ້ານໄອທີຂອງທ່ານດ້ວຍເຄື່ອງມືການປັບປຸງອັດຕະໂນມັດດ້ານໄອທີ', ໂດຍຜ່ານພາກ 1-4 ແລະກວມເອົາຫົວຂໍ້ຕໍ່ໄປນີ້.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະສະແດງວິທີການຕິດຕັ້ງ 'Ansible' ໃນ RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 ແລະລະບົບ Debian 7/6 ແລະພວກເຮົາຈະຜ່ານບາງພື້ນຖານກ່ຽວກັບວິທີການຈັດການ server ໂດຍການຕິດຕັ້ງແພັກເກດ, ການ ນຳ ໃຊ້ການອັບເດດແລະອື່ນໆນັບຕັ້ງແຕ່ຂັ້ນພື້ນຖານຈົນເຖິງໂປແກມ.

<

  • ລະບົບປະຕິບັດການ : RHEL/CentOS/Fedora ແລະ Ubuntu/Debian/Linux Mint
  • Jinja2 : ທີ່ທັນສະ ໄໝ, ໄວແລະງ່າຍຕໍ່ການໃຊ້ເຄື່ອງຈັກແບບຢືນ ສຳ ລັບ Python.
  • PyYAML : ຕົວແປ YAML ແລະຕົວ ສຳ ລັບພາສາຂຽນໂປແກຼມ Python.
  • parmiko : ຫ້ອງສະຫມຸດຊ່ອງທາງ Python SSHv2 Python ພື້ນເມືອງ.
  • httplib2 : ຫ້ອງສະ ໝຸດ ລູກຄ້າ HTTP ທີ່ສົມບູນແບບ.
  • sshpass : ການກວດສອບລະຫັດຜ່ານ ssh ທີ່ບໍ່ມີການໂຕ້ຕອບ.
  • Operating System :	Linux Mint 17.1 Rebecca
    IP Address	 :	192.168.0.254
    Host-name	 :	tecmint.instrcutor.com
    User		 :	tecmint
    
    Node 1: 192.168.0.112
    Node 2: 192.168.0.113
    Node 3: 192.168.0.114
    

    ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງເຄື່ອງຄວບຄຸມ - ຕອບຖືກ

    1. ກ່ອນທີ່ຈະຕິດຕັ້ງ 'Ansible' ໃນເຊີຟເວີ, ໃຫ້ ທຳ ອິດກວດສອບລາຍລະອຽດຂອງ server ເຊັ່ນ hostname ແລະ IP Address. ເຂົ້າສູ່ລະບົບເຊີບເວີເປັນຜູ້ໃຊ້ຮາກແລະປະຕິບັດ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອຢືນຢັນການຕັ້ງຄ່າລະບົບທີ່ພວກເຮົາ ກຳ ລັງຈະໃຊ້ ສຳ ລັບການຕັ້ງຄ່ານີ້.

    # sudo ifconfig | grep inet
    

    2. ເມື່ອທ່ານຢືນຢັນການຕັ້ງຄ່າລະບົບຂອງທ່ານ, ມັນຮອດເວລາແລ້ວທີ່ທ່ານຄວນຕິດຕັ້ງຊອຟແວ 'Ansible' ໃນລະບົບ.

    ໃນທີ່ນີ້ພວກເຮົາ ກຳ ລັງຈະ ນຳ ໃຊ້ຫ້ອງວາງສະແດງ PPA Ansible ຢ່າງເປັນທາງການໃນລະບົບ, ພຽງແຕ່ ດຳ ເນີນ ຄຳ ສັ່ງດ້ານລຸ່ມເພື່ອເພີ່ມບ່ອນເກັບມ້ຽນ.

    $ sudo apt-add-repository ppa:ansible/ansible -y
    $ sudo apt-get update && sudo apt-get install ansible -y
    

    ແຕ່ຫນ້າເສຍດາຍ, ບໍ່ມີຫ້ອງວາງສະແດງ Ansible ຢ່າງເປັນທາງການ ສຳ ລັບ Clones ທີ່ອີງໃສ່ RedHat, ແຕ່ພວກເຮົາສາມາດຕິດຕັ້ງ Ansible ໄດ້ໂດຍການເປີດໃຊ້ epel repository ພາຍໃຕ້ RHEL/CentOS 6, 7 ແລະປະຈຸບັນໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ການແຈກຢາຍ fedora.

    ຜູ້ໃຊ້ Fedora ສາມາດຕິດຕັ້ງ Ansible ໂດຍກົງຜ່ານຫໍໄຕ, ແຕ່ຖ້າທ່ານ ກຳ ລັງໃຊ້ RHEL/CentOS 6, 7, ທ່ານຕ້ອງເປີດໃຊ້ EPEL repo.

    ຫຼັງຈາກການຕັ້ງຄ່າຫໍເກັບ epel, ທ່ານສາມາດຕິດຕັ້ງ Ansible ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    $ sudo yum install ansible -y
    

    ຫລັງຈາກຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ທ່ານສາມາດກວດສອບລຸ້ນໄດ້ໂດຍປະຕິບັດ ຄຳ ສັ່ງດ້ານລຸ່ມ.

    # ansible --version
    

    ຂັ້ນຕອນທີ 2: ການກະກຽມລະຫັດ SSH ໃຫ້ກັບເຈົ້າພາບໄລຍະໄກ

    4. ເພື່ອປະຕິບັດການຈັດການຫລືການຈັດການໃດໆຈາກ localhost ໄປຫາໂຮດຫ່າງໄກສອກຫຼີກກ່ອນອື່ນ ໝົດ ພວກເຮົາຕ້ອງສ້າງແລະຄັດລອກປຸ່ມ ssh ໄປທີ່ໂຮດຫ່າງໄກສອກຫຼີກ ໃນທຸກໆໂຮດຫ່າງໄກສອກຫຼີກຈະມີບັນຊີຜູ້ໃຊ້ tecmint (ໃນກໍລະນີຂອງທ່ານອາດຈະເປັນຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນ).

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

    # ssh-keygen -t rsa -b 4096 -C "[email "
    

    5. ຫຼັງຈາກສ້າງ SSH Key ສຳ ເລັດແລ້ວ, ຕອນນີ້ ສຳ ເນົາເອົາຄີທີ່ຖືກສ້າງຂື້ນມາໃຫ້ທັງສາມ server ຫ່າງໄກສອກຫຼີກ.

    # ssh-copy-id [email 
    # ssh-copy-id [email 
    # ssh-copy-id [email 
    

    6. ຫຼັງຈາກ ສຳ ເນົາ SSH Keys ທັງ ໝົດ ໄປທີ່ໂຮດຫ່າງໄກສອກຫຼີກ, ດຽວນີ້ເຮັດການ ssh key authentication ໃນທຸກໂຮດທີ່ຢູ່ໄກເພື່ອກວດເບິ່ງວ່າການກວດສອບຄວາມຖືກຕ້ອງເຮັດວຽກຫຼືບໍ່.

    $ ssh [email 
    $ ssh [email 
    $ ssh [email