Ansible এ রোল (Role) হলো একটি সংগঠিত উপায়ে প্লেবুকের টাস্ক, ফাইল, টেমপ্লেট, ভ্যারিয়েবল, এবং অন্যান্য উপাদান গুছিয়ে রাখার একটি পদ্ধতি। রোল ব্যবহার করে আপনি একটি মডুলার এবং পুনরায় ব্যবহারযোগ্য প্লেবুক তৈরি করতে পারেন, যা বড় এবং জটিল ইনফ্রাস্ট্রাকচার ম্যানেজমেন্ট সহজ করে তোলে।
রোল হলো একটি ডিরেক্টরি স্ট্রাকচার, যেখানে Ansible এর বিভিন্ন উপাদান যেমন টাস্ক, ভ্যারিয়েবল, টেমপ্লেট, ফাইল, এবং হ্যান্ডলার গুছিয়ে রাখা হয়। এটি বড় প্রজেক্ট বা ইনফ্রাস্ট্রাকচারে কোড পুনরায় ব্যবহারযোগ্য এবং সহজে মেইনটেইনেবল করে।
Ansible এ রোলের একটি নির্দিষ্ট ডিরেক্টরি স্ট্রাকচার রয়েছে যা নিচে দেখানো হলো:
roles/
└── my_role/
├── defaults/
│ └── main.yml
├── files/
├── handlers/
│ └── main.yml
├── meta/
│ └── main.yml
├── tasks/
│ └── main.yml
├── templates/
├── tests/
├── vars/
│ └── main.yml
main.yml
হলো রোলের প্রধান টাস্ক ফাইল।ধরা যাক, আমরা একটি রোল তৈরি করতে চাই যা Apache সার্ভার ইনস্টল এবং কনফিগার করবে।
ansible-galaxy init my_apache_role
এটি একটি রোল তৈরি করবে roles/my_apache_role
ডিরেক্টরির অধীনে, যেখানে পূর্বে বর্ণিত সমস্ত ডিরেক্টরি স্বয়ংক্রিয়ভাবে তৈরি হবে।
---
- name: Install Apache
apt:
name: apache2
state: present
- name: Start Apache service
service:
name: apache2
state: started
enabled: yes
---
- name: restart apache
service:
name: apache2
state: restarted
---
- hosts: webservers
become: yes
roles:
- my_apache_role
এখানে, প্লেবুকের roles
সেকশনে my_apache_role
অন্তর্ভুক্ত করা হয়েছে, যা Apache ইনস্টল এবং কনফিগার করবে।
Ansible এ রোল হলো একটি সংগঠিত এবং পুনরায় ব্যবহারযোগ্য উপায়ে প্লেবুক এবং তার বিভিন্ন উপাদান গুছিয়ে রাখার একটি পদ্ধতি। এটি বড় প্রজেক্টে কোড মডুলার, স্ট্রাকচার্ড এবং পুনরায় ব্যবহারযোগ্য রাখতে সাহায্য করে।
আরও দেখুন...