ansible(1) دستورات مدیریت سیستم ansible(1)

ansible - تعریف و اجرای یک «پلی‌بوک» تک‌وظیفه‌ای بر روی مجموعه‌ای از میزبان‌ها

[--become-user BECOME_USER] [-K | --become-password-file BECOME_PASSWORD_FILE] [-i INVENTORY] [--list-hosts] [-l SUBSET] [--flush-cache] [-P POLL_INTERVAL] [-B SECONDS] [-o] [-t TREE] [--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER] [-c CONNECTION] [-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS] [--sftp-extra-args SFTP_EXTRA_ARGS] [--scp-extra-args SCP_EXTRA_ARGS] [--ssh-extra-args SSH_EXTRA_ARGS] [-k | --connection-password-file CONNECTION_PASSWORD_FILE] [-C] [-D] [-e EXTRA_VARS] [--vault-id VAULT_IDS] [-J | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS] [-M MODULE_PATH] [--playbook-dir BASEDIR] [--task-timeout TASK_TIMEOUT] [-a MODULE_ARGS] [-m MODULE_NAME] pattern

ابزاری فوق‌العاده ساده، چارچوب و رابط برنامه‌نویسی (API) برای انجام 'کارهای از راه دور' است. این دستور به شما امکان می‌دهد یک 'پلی‌بوک' تک‌وظیفه‌ای را تعریف کرده و بر روی مجموعه‌ای از میزبان‌ها اجرا کنید.

الگوی میزبان (host pattern)

--become-method 'BECOME_METHOD'

روش ارتقای دسترسی مورد استفاده (پیش‌فرض: sudo)، برای مشاهده فهرست گزینه‌های معتبر از ansible-doc -t become -l استفاده کنید.

--become-password-file 'BECOME_PASSWORD_FILE', --become-pass-file 'BECOME_PASSWORD_FILE'

فایل گذرواژه ارتقای دسترسی (Become)

--become-user 'BECOME_USER'

اجرای عملیات با این کاربر (پیش‌فرض: root)

--connection-password-file 'CONNECTION_PASSWORD_FILE', --conn-pass-file 'CONNECTION_PASSWORD_FILE'

فایل گذرواژه اتصال

--flush-cache

پاکسازی حافظه نهان فکت‌ها (fact cache) برای تمام میزبان‌های موجود در اینونتوری

--list-hosts

فهرستی از میزبان‌های منطبق را چاپ می‌کند؛ هیچ عملیات دیگری را اجرا نمی‌نماید

--playbook-dir 'BASEDIR'

از آن‌جا که این ابزار از پلی‌بوک‌ها استفاده نمی‌کند، از این دایرکتوری به عنوان جایگزین پوشه پلی‌بوک استفاده کنید. این گزینه مسیر نسبی را برای بسیاری از ویژگی‌ها از جمله roles/، group_vars/ و غیره تنظیم می‌کند.

--private-key 'PRIVATE_KEY_FILE', --key-file 'PRIVATE_KEY_FILE'

استفاده از این فایل برای احراز هویت اتصال

--scp-extra-args 'SCP_EXTRA_ARGS'

تعیین آرگومان‌های اضافی برای ارسال اختصاصی به scp (مانند -l)

--sftp-extra-args 'SFTP_EXTRA_ARGS'

تعیین آرگومان‌های اضافی برای ارسال اختصاصی به sftp (مانند -f، -l)

--ssh-common-args 'SSH_COMMON_ARGS'

تعیین آرگومان‌های مشترک برای ارسال به sftp/scp/ssh (مانند ProxyCommand)

--ssh-extra-args 'SSH_EXTRA_ARGS'

تعیین آرگومان‌های اضافی برای ارسال اختصاصی به ssh (مانند -R)

--task-timeout 'TASK_TIMEOUT'

تنظیم حد مهلت زمانی وظیفه (task) به ثانیه، باید یک عدد صحیح مثبت باشد.

--vault-id

شناسه والت (vault identity) برای استفاده. این آرگومان می‌تواند چند بار مشخص شود.

--vault-password-file, --vault-pass-file

فایل گذرواژه والت

--version

نمایش شماره نسخه برنامه، مسیر فایل کانفیگ، مسیر جستجوی ماژول‌های پیکربندی‌شده، مسیر ماژول‌ها، مسیر فایل اجرایی و خروج

-B 'SECONDS', --background 'SECONDS'

اجرای ناهمگام (asynchronous)، که پس از X ثانیه با خطا متوقف می‌شود (پیش‌فرض: N/A)

-C, --check

هیچ تغییری اعمال نمی‌کند؛ در عوض سعی می‌کند تغییراتی که ممکن است رخ دهد را پیش‌بینی کند

-D, --diff

هنگام تغییر فایل‌ها و قالب‌های (کوچک)، تفاوت‌ها را در آن فایل‌ها نشان می‌دهد؛ همراه با --check بسیار عالی عمل می‌کند

-J, --ask-vault-password, --ask-vault-pass

درخواست گذرواژه والت

-K, --ask-become-pass

درخواست گذرواژه ارتقای دسترسی (privilege escalation)

-M, --module-path

افزودن مسیر(های) جداشده با دونقطه به ابتدای کتابخانه ماژول‌ها (پیش‌فرض: {{ ANSIBLE_HOME ~ "/plugins/modules:/usr/share/ansible/plugins/modules" }}). این آرگومان را می‌توان چندین بار مشخص کرد.

-P 'POLL_INTERVAL', --poll 'POLL_INTERVAL'

تنظیم فاصله زمانی نظرسنجی (poll interval) در صورت استفاده از -B (پیش‌فرض: 15)

-T 'TIMEOUT', --timeout 'TIMEOUT'

بازنویسی مهلت زمانی اتصال به ثانیه (پیش‌فرض بستگی به نوع اتصال دارد)

-a 'MODULE_ARGS', --args 'MODULE_ARGS'

گزینه‌های عملیات در قالب k=v جداشده با فاصله: -a 'opt1=val1 opt2=val2' یا یک رشته json: -a '{"opt1": "val1", "opt2": "val2"}'

-b, --become

اجرای عملیات با become (به معنای درخواست گذرواژه نیست)

-c 'CONNECTION', --connection 'CONNECTION'

نوع اتصال مورد استفاده (پیش‌فرض: ssh)

-e, --extra-vars

تنظیم متغیرهای اضافی به صورت کلید=مقدار یا YAML/JSON؛ در صورت فایل بودن نام با @ شروع شود. این آرگومان می‌تواند چندین بار مشخص شود.

-f 'FORKS', --forks 'FORKS'

تعیین تعداد فرآیندهای موازی برای استفاده (پیش‌فرض: 5)

-h, --help

نمایش این پیام راهنما و خروج

-i, --inventory, --inventory-file

مشخص کردن مسیر اینونتوری میزبان‌ها یا فهرست میزبان‌های جداشده با کاما. این آرگومان را می‌توان چندین بار مشخص کرد.

-k, --ask-pass

درخواست گذرواژه اتصال

-l 'SUBSET', --limit 'SUBSET'

محدود کردن بیشتر میزبان‌های انتخاب‌شده بر اساس یک الگوی اضافی

-m 'MODULE_NAME', --module-name 'MODULE_NAME'

نام عملیات (ماژول) برای اجرا (پیش‌فرض: command)

-o, --one-line

فشرده‌سازی خروجی در یک سطر

-t 'TREE', --tree 'TREE'

ثبت لاگ خروجی در این دایرکتوری

-u 'REMOTE_USER', --user 'REMOTE_USER'

اتصال با این کاربر (پیش‌فرض: None)

-v, --verbose

باعث می‌شود انسیبل پیام‌های اشکال‌زدایی بیشتری چاپ کند. افزودن چند -v سطح جزئیات را افزایش می‌دهد؛ پلاگین‌های داخلی فعلی تا -vvvvvv را ارزیابی می‌کنند. یک سطح معقول برای شروع -vvv است؛ اشکال‌زدایی اتصال ممکن است به -vvvv نیاز داشته باشد. این آرگومان را می‌توان چندین بار مشخص کرد.

انسیبل میزبان‌هایی را که به طور بالقوه می‌تواند روی آن‌ها کار کند در یک اینونتوری نگهداری می‌نماید. این می‌تواند یک فایل YAML، فایل شبه-ini، یک اسکریپت، دایرکتوری، فهرست و غیره باشد. برای گزینه‌های اضافی، مستندات موجود در https://docs.ansible.com را ببینید.

متغیرهای محیطی زیر را می‌توان تعیین کرد:

ANSIBLE_INVENTORY -- بازنویسی منابع پیش‌فرض اینونتوری انسیبل

ANSIBLE_LIBRARY -- بازنویسی مسیر پیش‌فرض کتابخانه ماژول‌های انسیبل

ANSIBLE_CONFIG -- تعیین مسیر جایگزین برای فایل پیکربندی انسیبل

متغیرهای بسیار بیشتری برای اغلب گزینه‌ها در ansible.cfg موجود هستند.

برای فهرست کامل به https://docs.ansible.com مراجعه کنید یا از دستور ansible-config بهره بگیرید.

/etc/ansible/hosts -- فایل پیش‌فرض اینونتوری

/etc/ansible/ansible.cfg -- فایل پیکربندی، در صورت وجود استفاده می‌شود

~/.ansible.cfg -- فایل پیکربندی کاربر، در صورت وجود کانفیگ پیش‌فرض را بازنویسی می‌کند

./ansible.cfg -- فایل پیکربندی محلی (در پوشه کاری جاری) که فرض می‌شود «مختص پروژه» است و در صورت وجود بقیه را بازنویسی می‌کند.

همان‌طور که در بالا اشاره شد، متغیر محیطی ANSIBLE_CONFIG بر تمام موارد دیگر اولویت خواهد داشت.

انسیبل در اصل توسط Michael DeHaan نوشته شده است.

حق نشر © 2018 Red Hat, Inc | Ansible. انسیبل تحت شرایط مجوز GPLv3 منتشر شده است.

ansible-config (1), ansible-console (1), ansible-doc (1), ansible-galaxy (1), ansible-inventory (1), ansible-playbook (1), ansible-pull (1), ansible-vault (1)

مستندات گسترده در سایت مستندات در دسترس است: https://docs.ansible.com. اطلاعات IRC و فهرست پستی را می‌توان در فایل CONTRIBUTING.md یافت، موجود در: https://github.com/ansible/ansible

Ansible 2.21.3