Ansible-এ হোস্ট ভ্যারিয়েবল এবং গ্রুপ ভ্যারিয়েবল হলো ইনভেন্টরি ফাইলের উপাদান, যা নির্দিষ্ট হোস্ট বা হোস্ট গ্রুপের জন্য কনফিগারেশন বা মান সংরক্ষণ করতে ব্যবহৃত হয়। এগুলো ব্যবহার করে আপনি বিভিন্ন হোস্ট বা গ্রুপের জন্য নির্দিষ্ট কনফিগারেশন তৈরি করতে পারেন, যা প্লেবুক চলাকালে প্রয়োগ করা হয়।
হোস্ট ভ্যারিয়েবল হলো এক বা একাধিক নির্দিষ্ট হোস্টের জন্য সংরক্ষিত ভ্যারিয়েবল। এটি একটি নির্দিষ্ট হোস্টের জন্য নির্দিষ্ট কনফিগারেশন বা ডেটা প্রদান করে। আপনি ইনভেন্টরি ফাইল বা হোস্ট ভ্যারিয়েবল ফাইলে (যেমন: host_vars/hostname.yml
) এই ভ্যারিয়েবলগুলো উল্লেখ করতে পারেন।
ইনভেন্টরি ফাইল:
webserver1 ansible_host=192.168.1.10 ansible_user=admin
উপরের উদাহরণে:
webserver1
এর জন্য IP ঠিকানা 192.168.1.10
এবং ইউজার admin
হিসেবে উল্লেখ করা হয়েছে।বা, হোস্ট ভ্যারিয়েবল ফাইল (host_vars/webserver1.yml
):
---
ansible_host: 192.168.1.10
ansible_user: admin
app_port: 8080
এখানে:
ansible_host
ও ansible_user
হোস্টের জন্য উল্লেখিত হয়েছে।app_port
উল্লেখ করা হয়েছে, যা ঐ নির্দিষ্ট হোস্টে ব্যবহৃত হবে।গ্রুপ ভ্যারিয়েবল হলো একটি নির্দিষ্ট হোস্ট গ্রুপের জন্য সংরক্ষিত ভ্যারিয়েবল। আপনি ইনভেন্টরি ফাইলে গ্রুপের জন্য একটি সেকশন তৈরি করে ভ্যারিয়েবলগুলো উল্লেখ করতে পারেন, অথবা group_vars
ডিরেক্টরির ভেতরে YAML ফাইলে এগুলো সংরক্ষণ করতে পারেন।
ইনভেন্টরি ফাইল:
[webservers]
webserver1 ansible_host=192.168.1.10
webserver2 ansible_host=192.168.1.11
[webservers:vars]
ansible_user=admin
app_port=80
উপরের উদাহরণে:
webservers
গ্রুপের সব হোস্টের জন্য ansible_user
হিসেবে admin
এবং app_port
হিসেবে 80
উল্লেখ করা হয়েছে।বা, গ্রুপ ভ্যারিয়েবল ফাইল (group_vars/webservers.yml
):
---
ansible_user: admin
app_port: 80
db_host: 192.168.1.100
এখানে:
webservers
গ্রুপের সব হোস্টের জন্য ansible_user
এবং app_port
উল্লেখ করা হয়েছে।db_host
যুক্ত করা হয়েছে, যা ঐ গ্রুপের সব হোস্টে প্রযোজ্য হবে।হোস্ট এবং গ্রুপ ভ্যারিয়েবলগুলো Ansible প্লেবুক চলাকালে হোস্ট বা গ্রুপ ভিত্তিক কনফিগারেশন তৈরি করতে ব্যবহৃত হয়। এই ভ্যারিয়েবলগুলো ব্যবহার করে আপনি বিভিন্ন হোস্ট বা গ্রুপের জন্য বিভিন্ন কনফিগারেশন অটোমেটেড করতে পারেন, যা প্লেবুক এবং রোলগুলোর মধ্যে ব্যবহার করা হয়।
উদাহরণ প্লেবুক:
---
- name: Deploy web application
hosts: webservers
become: yes
tasks:
- name: Deploy the application
copy:
src: /path/to/app
dest: /var/www/html
- name: Configure the application port
lineinfile:
path: /etc/app/config
regexp: '^port='
line: "port={{ app_port }}"
উপরের প্লেবুকটি app_port
ভ্যারিয়েবল ব্যবহার করে নির্দিষ্ট গ্রুপ বা হোস্টের জন্য কনফিগারেশন সেট করবে।
এইভাবে, হোস্ট এবং গ্রুপ ভ্যারিয়েবল ব্যবহারে আপনি আপনার ইনফ্রাস্ট্রাকচার এবং প্লেবুকের কনফিগারেশন আরও সহজে পরিচালনা করতে পারবেন।
আরও দেখুন...