اوبونتوسیستم عامل لینوکسمدیریت سرورمقالات وب

چگونه آخرین نسخه از Ansible را بر روی اوبونتو نصب و پیکربندی کنیم؟

همانطور که می دانید Ansible یک اتوماسیون IT ساده و اسان است. شما می توانید از این ابزار برای توسعه یکیشن ها، سیستم ها، ماشین های مجازی و کانیتنرها استفاده کنید. در این مقاله قصد داریم نصب و پیکربندی Ansible را بر روی ۱۶٫۰۴ LTS یا ۱۷٫۱۰ بررسی کنیم. پس همراه وب باشید.

نصب:

برای اینکه بتوانید آخرین نسخه از این ابزار را بر روی سیستم خود نصب کنید باید 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

۰ 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

۱۰۴٫۲۰٫۱۸۷٫۵

۱۰۴٫۲۰٫۱۸۶٫۵

[devservers]

۱۰٫۹۸٫۲۲۲٫۴

۱۰٫۹۸٫۲۲۲٫۷

۱۰٫۹۸٫۲۲۲٫۸

 

تنظیم و راه اندازی 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

خروجی نمونه:

۱۰٫۹۸٫۲۲۲٫۴ | SUCCESS => {

    “changed”: false,

    “failed”: false,

    “ping”: “pong”

}

۱۰٫۹۸٫۲۲۲٫۷ | SUCCESS => {

    “changed”: false,

    “failed”: false,

    “ping”: “pong”

}

۱۰٫۹۸٫۲۲۲٫۸ | SUCCESS => {

    “changed”: false,

    “failed”: false,

    “ping”: “pong”

}

Rate this post
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن