Ansible এ ভ্যারিয়েবল হলো এমন কিছু নাম-মান (name-value) জোড়া যা প্লেবুক বা টাস্কে ব্যবহার করা হয়, যাতে কাজগুলোকে ডাইনামিক এবং পুনরায় ব্যবহারযোগ্য করা যায়। ভ্যারিয়েবল ব্যবহার করে আপনি সহজেই প্লেবুকের বিভিন্ন অংশে পরিবর্তন আনতে পারেন এবং নির্দিষ্ট কনফিগারেশন বা সেটআপকে কাস্টমাইজ করতে পারেন।
ভ্যারিয়েবল এর ব্যবহার
Ansible এ ভ্যারিয়েবল বিভিন্ন উপায়ে ব্যবহার করা যায়:
- প্লেবুকের মধ্যে সরাসরি: প্লেবুকের মধ্যে
varsসেকশন ব্যবহার করে ভ্যারিয়েবল সংজ্ঞায়িত করা যায়। - ভ্যারিয়েবল ফাইল থেকে: হোস্ট বা গ্রুপ ভ্যারিয়েবল ফাইলে ভ্যারিয়েবল সংজ্ঞায়িত করা যায় এবং প্লেবুক থেকে তা রেফারেন্স করা যায়।
- কমান্ড লাইনের মাধ্যমে: প্লেবুক রান করার সময়
--extra-vars(বা-e) অপশন দিয়ে ভ্যারিয়েবল পাস করা যায়। - ডিফল্ট ভ্যারিয়েবল: রোল বা টাস্কের মধ্যে ডিফল্ট ভ্যারিয়েবল সেট করা যায়, যা প্রয়োজন অনুযায়ী ওভাররাইড করা যায়।
ভ্যারিয়েবল ব্যবহার করার উপায়
ভ্যারিয়েবল ডিফাইন করার জন্য YAML ফাইলে vars সেকশন ব্যবহার করা হয়।
উদাহরণ:
---
- name: Install and configure Apache
hosts: webservers
become: yes
vars:
apache_package: apache2
apache_service: apache2
apache_port: 80
tasks:
- name: Install Apache
apt:
name: "{{ apache_package }}"
state: present
- name: Start Apache service
service:
name: "{{ apache_service }}"
state: started
enabled: yes
- name: Open firewall port
ufw:
rule: allow
port: "{{ apache_port }}"
উপরের প্লেবুকে, apache_package, apache_service, এবং apache_port নামে ভ্যারিয়েবল ব্যবহার করা হয়েছে। এগুলো প্লেবুকের বিভিন্ন স্থানে মান হিসাবে রেফারেন্স করা হয়েছে।
ভ্যারিয়েবল ব্যবহারের সুবিধা
- পুনরায় ব্যবহারযোগ্য: একবার ভ্যারিয়েবল ডিফাইন করলে, সেটি একাধিক স্থানে ব্যবহার করা যায়, যা কোডকে DRY (Don't Repeat Yourself) নীতিতে রাখতে সাহায্য করে।
- সহজ কাস্টমাইজেশন: এক জায়গায় ভ্যারিয়েবলের মান পরিবর্তন করে, সহজেই প্লেবুকের বিভিন্ন অংশে প্রভাব ফেলা যায়।
- ডাইনামিক কনফিগারেশন: ভ্যারিয়েবল ব্যবহার করে প্লেবুককে ডাইনামিক করা যায়, যাতে বিভিন্ন হোস্ট বা পরিবেশের জন্য আলাদা মান সেট করা যায়।
- পরিষ্কার এবং সহজবোধ্য: প্লেবুকের কোড পরিষ্কার এবং পড়তে সহজ হয়, কারণ ভ্যারিয়েবলগুলো সাধারণত সংক্ষেপে ও বোধগম্য ভাবে ব্যবহার করা হয়।
ভ্যারিয়েবল নির্ধারণ করার পদ্ধতি
- প্লেবুকের মধ্যে
vars:
variable_name: value
2. গ্রুপ বা হোস্ট ভ্যারিয়েবল ফাইলে:
group_vars/all.ymlবাhost_vars/hostname.ymlফাইলে ভ্যারিয়েবল সংজ্ঞায়িত করা যায়।
3. কমান্ড লাইনে:
ansible-playbook playbook.yml -e "variable_name=value"
- ডিফল্ট ভ্যারিয়েবল ফাইল:
- রোলের
defaults/main.ymlফাইলে ডিফল্ট ভ্যারিয়েবল সেট করা যায়, যা অন্যত্র ওভাররাইড করা যায়।
- রোলের
সংক্ষেপে
Ansible এ ভ্যারিয়েবল হলো প্লেবুককে ডাইনামিক, পুনরায় ব্যবহারযোগ্য, এবং কাস্টমাইজযোগ্য করার জন্য একটি শক্তিশালী উপায়। এটি প্লেবুকের কোডকে সহজবোধ্য ও পরিষ্কার রাখে এবং বিভিন্ন পরিবেশ বা কনফিগারেশনের জন্য এক্সিকিউশন প্রক্রিয়াকে নমনীয় করে তোলে।
Read more