اوبونتوسیستم عامل لینوکسمدیریت سرورمقالات وب
چگونه آخرین نسخه از Ansible را بر روی اوبونتو نصب و پیکربندی کنیم؟
همانطور که می دانید Ansible یک ابزار اتوماسیون IT ساده و اسان است. شما می توانید از این ابزار برای توسعه اپلیکیشن ها، سیستم ها، ماشین های مجازی و کانیتنرها استفاده کنید. در این مقاله قصد داریم نصب و پیکربندی پیکربندی Ansible را بر روی اوبونتو 16.04 LTS یا 17.10 بررسی کنیم. پس همراه وب ایده باشید.
نصب:
برای اینکه بتوانید آخرین نسخه از این ابزار را بر روی سیستم خود نصب کنید باید PPA را پیکربندی نمایید. این گزینه به شما اجازه می دهد پکیج سورس اوبونتو را آپلود کنید. برای اینکار کافیست دستور زیر را تایپ نمایید:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install software-properties-common
حالا به سورس نرم افزار سیستم خود ppa:ansible/ansible را اضافه کنید:
$ sudo apt-add-repository ppa:ansible/ansible
خروجی نمونه:
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.
http://ansible.com/ More info: https://launchpad.net/~ansible/+archive/ubuntu/ansible Press [ENTER] to continue or Ctrl-c to cancel adding it.
gpg: keybox ‘/tmp/tmp6t9bsfxg/pubring.gpg’ created gpg: /tmp/tmp6t9bsfxg/trustdb.gpg: trustdb created gpg: key 93C4A3FD7BB9C367: public key “Launchpad PPA for Ansible, Inc.” imported gpg: Total number processed: 1 gpg: imported: 1 OK |
مخزن خود را به کمک دستور زیر به روزرسانی کنید:
$ sudo apt update
خروجی نمونه:
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease Hit:2 http://dl.google.com/linux/chrome/deb stable Release Get:4 http://in.archive.ubuntu.com/ubuntu artful InRelease [237 kB] Hit:5 http://security.ubuntu.com/ubuntu artful-security InRelease Get:6 http://ppa.launchpad.net/ansible/ansible/ubuntu artful InRelease [15.9 kB] Get:7 http://ppa.launchpad.net/ansible/ansible/ubuntu artful/main amd64 Packages [560 B] Get:8 http://in.archive.ubuntu.com/ubuntu artful-updates InRelease [65.4 kB] Hit:9 http://in.archive.ubuntu.com/ubuntu artful-backports InRelease Get:10 http://ppa.launchpad.net/ansible/ansible/ubuntu artful/main i386 Packages [560 B] Get:11 http://ppa.launchpad.net/ansible/ansible/ubuntu artful/main Translation-en [340 B] Fetched 319 kB in 5s (62.3 kB/s) Reading package lists… Done |
برای نصب آخرین نسخه از ansible دستور زیر را تایپ کنید. به نمونه خروجی که این دستور ارائه می کند خوب توجه کنید:
$ sudo apt install ansible
Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: python-crypto python-httplib2 python-jinja2 python-markupsafe python-paramiko python-pyasn1 python-setuptools python-yaml sshpass Suggested packages: python-crypto-dbg python-crypto-doc python-jinja2-doc python-gssapi python-setuptools-doc The following NEW packages will be installed: ansible python-crypto python-httplib2 python-jinja2 python-markupsafe python-paramiko python-pyasn1 python-setuptools python-yaml sshpass 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 3,610 kB of archives. After this operation, 27.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-markupsafe amd64 1.0-1build1 [13.0 kB] Get:2 http://ppa.launchpad.net/ansible/ansible/ubuntu artful/main amd64 ansible all 2.4.0.0-1ppa~artful [2,669 kB] Get:3 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-jinja2 all 2.9.6-1 [107 kB] Get:4 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-yaml amd64 3.12-1build2 [115 kB] Get:5 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-pyasn1 all 0.1.9-2 [45.4 kB] Get:6 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-paramiko all 2.0.0-1 [109 kB] Get:7 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-httplib2 all 0.9.2+dfsg-1 [34.6 kB] Get:8 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-crypto amd64 2.6.1-7build2 [245 kB] Get:9 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-setuptools all 36.2.7-2 [260 kB] Get:10 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 sshpass amd64 1.06-1 [10.5 kB] Fetched 3,610 kB in 23s (154 kB/s) Selecting previously unselected package python-markupsafe. (Reading database … 193191 files and directories currently installed.) Preparing to unpack …/0-python-markupsafe_1.0-1build1_amd64.deb … Unpacking python-markupsafe (1.0-1build1) … Selecting previously unselected package python-jinja2. Preparing to unpack …/1-python-jinja2_2.9.6-1_all.deb … Unpacking python-jinja2 (2.9.6-1) … Selecting previously unselected package python-yaml. Preparing to unpack …/2-python-yaml_3.12-1build2_amd64.deb … Unpacking python-yaml (3.12-1build2) … Selecting previously unselected package python-pyasn1. Preparing to unpack …/3-python-pyasn1_0.1.9-2_all.deb … Unpacking python-pyasn1 (0.1.9-2) … Selecting previously unselected package python-paramiko. Preparing to unpack …/4-python-paramiko_2.0.0-1_all.deb … Unpacking python-paramiko (2.0.0-1) … Selecting previously unselected package python-httplib2. Preparing to unpack …/5-python-httplib2_0.9.2+dfsg-1_all.deb … Unpacking python-httplib2 (0.9.2+dfsg-1) … Selecting previously unselected package python-crypto. Preparing to unpack …/6-python-crypto_2.6.1-7build2_amd64.deb … Unpacking python-crypto (2.6.1-7build2) … Selecting previously unselected package python-setuptools. Preparing to unpack …/7-python-setuptools_36.2.7-2_all.deb … Unpacking python-setuptools (36.2.7-2) … Selecting previously unselected package sshpass. Preparing to unpack …/8-sshpass_1.06-1_amd64.deb … Unpacking sshpass (1.06-1) … Selecting previously unselected package ansible. Preparing to unpack …/9-ansible_2.4.0.0-1ppa~artful_all.deb … Unpacking ansible (2.4.0.0-1ppa~artful) … Setting up python-setuptools (36.2.7-2) … Setting up python-yaml (3.12-1build2) … Setting up python-crypto (2.6.1-7build2) … Setting up python-pyasn1 (0.1.9-2) … Setting up python-markupsafe (1.0-1build1) … Setting up python-httplib2 (0.9.2+dfsg-1) … Setting up python-paramiko (2.0.0-1) … Setting up sshpass (1.06-1) … Processing triggers for doc-base (0.10.7) … Processing 1 added doc-base file… Processing triggers for man-db (2.7.6.1-2) … Setting up python-jinja2 (2.9.6-1) … Setting up ansible (2.4.0.0-1ppa~artful) … |
یافتن نسخه ansible:
دستور زیر را تایپ کنید:
$ ansible –version
خروجی نمونه:
ansible 2.4.0.0 config file = /etc/ansible/ansible.cfg configured module search path = [u’/home/vivek/.ansible/plugins/modules’, u’/usr/share/ansible/plugins/modules’] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible python version = 2.7.14 (default, Sep 23 2017, 22:06:14) [GCC 7.2.0] |
ایجاد فایل هاست:
این ابزار باید نام سرور ریموت یا آی پی آدرس آن را بداند. این اطلاعات در فایلی به نام Hosts ذخیره شده است که مسیر پیش فرض آن /etc/ansible/hosts است. شما می توانید این فایل را ویرایش کنید یا یک فایل جدید در دایرکتوری بسازید:
$ sudo vi /etc/ansible/hosts
یا
$ vi $HOME/hosts
[webservers]
server1.cyberciti.biz
104.20.187.5
104.20.186.5
[devservers]
10.98.222.4
10.98.222.7
10.98.222.8
تنظیم و راه اندازی ssh keys:
شما باید ssh keys را بین دستگاه خود و سرور ریموت پیکربندی کنید:
$ ssh-keygen -t rsa -b 4096 -C “My ansisble key”
از دستور scp یا ssh-copy-id برای کپی کردن فایل public key به اکانت خود در ریموت سرور استفاده کنید:
$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@server1.cyberciti.biz
$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@10.98.222.4
$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@10.98.222.7
$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@10.98.222.8
$ eval $(ssh-agent)
$ ssh-add
ارسال پینگ سرور به تمامی سرورها:
کافیست دستور زیر را تایپ کنید:
$ ansible -i ~/hosts -m ping all
خروجی نمونه:
10.98.222.4 | SUCCESS => {
“changed”: false,
“failed”: false,
“ping”: “pong”
}
10.98.222.7 | SUCCESS => {
“changed”: false,
“failed”: false,
“ping”: “pong”
}
10.98.222.8 | SUCCESS => {
“changed”: false,
“failed”: false,
“ping”: “pong”
}