تامین زیرساخت با Ansible – DEV Community

🔗مطالب مرتبط
می توانید مخزن مربوطه را در موارد زیر بیابید:
🐱🏍گیت هاب
می توانید با من در ارتباط باشید:
🧬لینکداین
رزومه 🧾
🚀 Ansible یک ابزار مدیریت پیکربندی قدرتمند است که می تواند برای تامین زیرساخت استفاده شود.
🛠️ تامین به فرآیند پیکربندی و راه اندازی سیستم ها یا زیرساخت های راه دور اشاره دارد.
📝 Ansible از Playbooks که با فرمت YAML نوشته شده اند برای تعریف وضعیت مطلوب زیرساخت استفاده می کند.
📦 Ansible ماژولهای داخلی بسیاری را برای انجام وظایف تامین، مانند نصب بستهها، پیکربندی تنظیمات شبکه، مدیریت کاربران و گروهها و موارد دیگر ارائه میکند.
💻 برای تهیه زیرساخت با Ansible، باید:
Ansible را نصب کنید
زیرساخت خود را با استفاده از Playbooks تعریف کنید
یک فایل موجودی ایجاد کنید
با استفاده از دستور ansible-playbook playbook را اجرا کنید
🖥️ Ansible همچنین میتواند برای تامین سیستمهای ویندوز استفاده شود، اما این به تنظیمات و پیکربندی اضافی نیاز دارد، مانند پیکربندی سرویس WinRM در سیستم ویندوز مورد نظر و مشخص کردن جزئیات اتصال WinRM در فایل موجودی.
به طور کلی، تدارک با Ansible راهی برای خودکار کردن فرآیند پیکربندی و راهاندازی زیرساخت، کاهش خطر خطای انسانی و افزایش کارایی فراهم میکند. 🤖
تدارک در Ansible چیست؟
در Ansible، تدارک به فرآیند پیکربندی و راه اندازی سیستم ها یا زیرساخت های راه دور اشاره دارد. Ansible یک ابزار مدیریت پیکربندی است که از یک زبان اعلامی برای توصیف وضعیت مطلوب زیرساخت استفاده می کند. این بدان معناست که به جای مشخص کردن وظایف فردی که باید انجام شوند، وضعیت نهایی مطلوب سیستم را توصیف میکنید و Ansible چگونگی رسیدن به آنجا را مشخص میکند.
ارائه در Ansible شامل تعریف پیکربندی سیستم های راه دور یا زیرساخت در یک کتاب بازی است، که یک فایل YAML است که وظایفی را که باید انجام شود فهرست می کند. این وظایف می تواند شامل نصب بسته ها، پیکربندی تنظیمات شبکه، راه اندازی کاربران و گروه ها و موارد دیگر باشد. سپس Ansible از طریق SSH به سیستم های راه دور متصل می شود و وظایف موجود در playbook را اجرا می کند.
Ansible تعدادی ماژول داخلی را ارائه می دهد که می توانند برای انجام وظایف تامین استفاده شوند، مانند ماژول apt برای مدیریت بسته ها در سیستم های اوبونتو، ماژول yum برای مدیریت بسته ها در سیستم های مبتنی بر Red Hat و ماژول کاربر برای مدیریت کاربران. و گروه ها
به طور کلی، تدارک با Ansible راهی برای خودکار کردن فرآیند پیکربندی و راهاندازی زیرساخت، کاهش خطر خطای انسانی و افزایش کارایی فراهم میکند.
چگونه می توانم زیرساخت را با Ansible تهیه کنم؟
برای تهیه زیرساخت با Ansible، باید مراحل زیر را دنبال کنید:
-
Ansible را روی ماشین محلی خود یا روی سروری که برای اجرای دستورات Ansible استفاده می شود نصب کنید.
-
با استفاده از Ansible Playbooks که با فرمت YAML نوشته شده اند، وضعیت مطلوب زیرساخت خود را تعریف کنید. کتاب های بازی حاوی لیستی از وظایفی هستند که در سیستم های راه دور اجرا می شوند.
-
یک فایل موجودی ایجاد کنید که نام میزبان یا آدرس IP سیستمهایی را که میخواهید ارائه کنید، و همچنین جزئیات اتصال لازم مانند کلیدهای SSH یا نامهای کاربری/رمزهای عبور را فهرست میکند.
-
Playbook را با استفاده از دستور ansible-playbook با مشخص کردن فایل موجودی و فایل playbook اجرا کنید.
در اینجا نمونه ای از نحوه ظاهر یک کتاب بازی ساده Ansible آورده شده است:
---
- name: Provision a web server
hosts: webservers
become: true
tasks:
- name: Install Apache web server
apt:
name: apache2
state: present
این کتاب راهنما با نصب بسته وب سرور آپاچی با استفاده از ماژول apt یک وب سرور را فراهم می کند. پارامتر host سیستم های هدف را مشخص می کند و تبدیل می شود: true به Ansible می گوید که از sudo برای اجرای وظایف به عنوان یک کاربر ممتاز استفاده کند.
برای اجرای این دفترچه، دستور زیر را اجرا کنید:
ansible-playbook -i inv.yaml playbook.yml
که در آن inv.yaml نام فایل موجودی شما و playbook.yml نام فایل playbook شما است.
Ansible بسیاری از ماژولهای داخلی را ارائه میکند که میتوان از آنها برای انجام وظایف مختلف تهیه، مانند نصب بستهها، پیکربندی تنظیمات شبکه، مدیریت کاربران و گروهها و موارد دیگر استفاده کرد. شما همچنین می توانید ماژول های سفارشی خود را در صورت نیاز ایجاد کنید.
نگاه کنید که ما در مورد تامین در سیستم هایی با یونیکس پایه صحبت می کنیم.
و در ویندوز؟
Ansible همچنین می تواند برای تامین سیستم های ویندوز استفاده شود. با این حال، فراهم کردن سیستمهای ویندوز با Ansible در مقایسه با سیستمهای لینوکس، نیاز به تنظیمات و تنظیمات بیشتری دارد. در اینجا مراحل اساسی برای تهیه سیستم ویندوز با Ansible آمده است:
-
Ansible را روی یک سیستم لینوکس یا یک سیستم ویندوز با فعال بودن Windows Subsystem for Linux (WSL) نصب کنید. Ansible را نمی توان مستقیماً روی سیستم ویندوز نصب کرد.
-
سرویس WinRM را روی سیستم ویندوز هدف پیکربندی کنید تا امکان مدیریت از راه دور فراهم شود. WinRM اجرای پروتکل WS-Management توسط مایکروسافت است که امکان مدیریت از راه دور سیستم های ویندوز را فراهم می کند.
-
یک فایل موجودی ایجاد کنید که سیستم ویندوز مورد نظر را فهرست کرده و جزئیات اتصال، از جمله نام کاربری و رمز عبور WinRM را مشخص کند.
-
یک کتاب بازی بنویسید که حاوی وظایفی برای پیکربندی سیستم ویندوز به صورت دلخواه باشد. Ansible چندین ماژول داخلی را برای پیکربندی سیستم های ویندوز ارائه می دهد، از جمله ماژول هایی برای مدیریت کاربران، گروه ها و ویژگی های ویندوز.
-
Playbook را با استفاده از دستور ansible-playbook با مشخص کردن فایل موجودی و فایل playbook اجرا کنید.
در اینجا مثالی از نحوه ظاهر یک کتاب بازی ساده Ansible برای ویندوز آورده شده است:
---
- name: Provision a Windows server
hosts: windows
gather_facts: no
become: yes
tasks:
- name: Install IIS web server
win_feature:
name: Web-Server
state: present
این کتاب پخش ویژگی وب سرور IIS را با استفاده از ماژول win_feature بر روی سیستم ویندوز نصب می کند. پارامتر hosts سیستم ویندوز مورد نظر را مشخص میکند و تبدیل به: yes میشود که به Ansible میگوید که وظایف را به عنوان یک مدیر اجرا کند.
برای اجرای این دفترچه، دستور زیر را اجرا کنید:
ansible-playbook -i inv.yaml playbook.yml --extra-vars "ansible_user=<winrm_username> ansible_password=<winrm_password> ansible_connection=winrm ansible_winrm_transport=basic ansible_winrm_server_cert_validation=ignore"
که در آن inv.yaml نام فایل موجودی شما، playbook.yml نام فایل playbook شما، و winrm_username و winrm_password نام کاربری و رمز عبور برای اتصال WinRM هستند. پارامتر –extra-vars برای ارسال جزئیات اتصال WinRM به Ansible استفاده می شود. گزینه ansible_winrm_server_cert_validation=ignore برای غیرفعال کردن اعتبار سنجی گواهی استفاده می شود که اغلب در محیط های آزمایش یا توسعه ضروری است.
به طور کلی، تهیه سیستمهای ویندوز با Ansible به تنظیمات و پیکربندی اضافی در مقایسه با سیستمهای لینوکس نیاز دارد، اما Ansible بسیاری از ماژولهای داخلی را ارائه میکند که میتوان از آنها برای پیکربندی و مدیریت سیستمهای ویندوز استفاده کرد.
تشکر کنید، لایک کنید و اگر مفید بود/علاقه داشتید به اشتراک بگذارید 😁🖖