بانک سوالات پروژه‌ی ask-interview

همه پرسش‌ها (592) Grafana (28) Jaeger (25) LXD (28) OpenTelemetry (24) Prometheus (24) ansible (27) apache (28) bash (18) ccna (27) centos (24) ceph (25) devops (29) docker (30) freebsd (27) git (28) kubernetes (24) linux (31) lpic1 (30) lpic2 (27) nginx (16) ubuntu (45) windows-server (27)

🗂 پرسش‌ها در دسته: ansible

❓ چطور می‌تونم یک playbook بنویسم که وضعیت سرویس‌ها رو روی چند تا سرور بررسی کنه و در صورت عدم کارکرد سرویس، اون رو ری‌استارت کنه؟

برای این کار می‌تونید از ماژول 'ansible.builtin.service' به همراه 'ansible.builtin.systemd' استفاده کنید. ابتدا با استفاده از ماژول 'ansible.builtin.service_facts' وضعیت سرویس‌ها رو بررسی کنید و اگر یکی از سرویس‌ها در حال اجرا نبود، از ماژول 'ansible.builtin.service' برای ری‌استارت کردن اون سرویس بهره ببرید.

دسته: ansible

❓ چطور می‌تونم با استفاده از Ansible اطلاعات یک گروه از سرورها رو به صورت موازی جمع‌آوری کنم؟

برای جمع‌آوری اطلاعات از چندین سرور به صورت موازی، می‌تونید از ماژول 'ansible.builtin.setup' استفاده کنید. با اجرای این ماژول روی گروه سرورهای مشخص، Ansible به صورت همزمان اطلاعات سخت‌افزاری و نرم‌افزاری رو جمع‌آوری می‌کنه و شما می‌تونید این اطلاعات رو در یک فایل JSON ذخیره کنید.

دسته: ansible

❓ چگونه می‌توانیم از متغیرها در Ansible به طور بهینه برای کدنویسی ماژول‌ها استفاده کنیم؟

در Ansible می‌تونید متغیرها رو در فایل‌های 'vars' یا 'defaults' تعریف کنید و سپس در playbook یا نقش‌ها از اونها استفاده کنید. برای استفاده از متغیرها، فقط کافیه نام متغیر رو در جی‌ان‌بی (Jinja2) درون double curly braces قرار بدید. این کار کدنویسی رو تمیزتر و قابل مدیریت‌تر می‌کنه.

دسته: ansible

❓ چطور می‌تونیم از Ansible برای انجام ابری‌سازی (orchestration) در چندین سرور به صورت همزمان استفاده کنیم؟

با استفاده از Ansible می‌تونید با ایجاد یک فایل inventory شامل آدرس‌های IP یا نام‌ دامنه‌های سرورهای مورد نظر، به راحتی عملیات را به صورت همزمان روی همه سرورها اجرا کنید. فقط کافیه از دستور 'ansible-playbook' استفاده کنید و آن فایل را به عنوان ورودی بدهید. این کار به شما اجازه میده که عملیات مختلفی رو در یک زمان انجام بدید.

دسته: ansible

❓ چطوری می‌تونیم با استفاده از Ansible یک نقش (role) برای مدیریت کاربران در یک سرور ایجاد کنیم؟

برای ایجاد یک نقش در Ansible، اول باید یک دایرکتوری به نام 'roles' بسازید. سپس درون آن، یک دایرکتوری به نام 'manage_users' ایجاد کنید و در آن فایل‌هایی مثل 'tasks/main.yml'، 'defaults/main.yml' و 'handlers/main.yml' رو بسازید. در فایل 'tasks/main.yml' می‌تونید از ماژول 'user' برای اضافه یا حذف کاربران استفاده کنید.

دسته: ansible