নেটওয়ার্ক অটোমেশনে অ্যান্সিবল
অ্যান্সিবল: নেটওয়ার্ক অটোমেশনের একটি শক্তিশালী টুল¶
অ্যান্সিবল একটি ওপেন সোর্স অটোমেশন টুল যা অত্যন্ত জনপ্রিয় নেটওয়ার্ক ইঞ্জিনিয়ারদের মধ্যে। এটি সরলতা এবং কার্যকারিতার জন্য পরিচিত। অ্যান্সিবলের মাধ্যমে নেটওয়ার্ক ডিভাইস কনফিগারেশন, ডিপ্লয়মেন্ট, এবং অরকেস্ট্রেশন প্রক্রিয়া খুব সহজে এবং দ্রুত সম্পন্ন করা যায়। অ্যান্সিবল মূলত YAML (Yet Another Markup Language) ভাষায় লেখা প্লেবুক ব্যবহার করে কাজ করে, যা সাধারণ মানুষের পড়তে এবং বুঝতে সহজ।
অ্যান্সিবল-এর বৈশিষ্ট্য¶
- সহজ: অ্যান্সিবল ইনস্টল এবং ব্যবহার করা খুব সহজ। কোন এজেন্ট ইনস্টল করার প্রয়োজন হয় না।
- ইয়্যামএল ভিত্তিক প্লেবুক: প্লেবুকগুলো ইয়্যামএল ভাষায় লেখা হয়, যা সহজবোধ্য এবং মানব-পঠনযোগ্য।
- এজেন্টবিহীন: অ্যান্সিবল কোনো এজেন্ট ব্যবহার করে না, এটি SSH এর মাধ্যমে সরাসরি নেটওয়ার্ক ডিভাইসে সংযোগ করে।
- দ্রুত ডেপ্লয়মেন্ট: অ্যান্সিবলের মাধ্যমে দ্রুত কনফিগারেশন এবং ডিপ্লয়মেন্ট সম্পন্ন করা যায়।
উদাহরণ ১: একাধিক ইন্টারফেস কনফিগারেশন¶
নিচের প্লেবুকটি একটি সুইচে একাধিক ইন্টারফেস কনফিগার করবে।
প্লেবুক (multi_interface_config.yaml)¶
---
- name: Configure multiple interfaces
hosts: switches
gather_facts: no
tasks:
- name: Configure interface GigabitEthernet0/1
ios_config:
lines:
- description Link to Router
- ip address 192.168.1.1 255.255.255.0
- no shutdown
parents: interface GigabitEthernet0/1
- name: Configure interface GigabitEthernet0/2
ios_config:
lines:
- description Link to Access Switch
- ip address 192.168.2.1 255.255.255.0
- no shutdown
parents: interface GigabitEthernet0/2
এই প্লেবুকটি দুটি ইন্টারফেসে কনফিগারেশন প্রয়োগ করবে। প্রথমে GigabitEthernet0/1
ইন্টারফেসে এবং তারপর GigabitEthernet0/2
ইন্টারফেসে।
উদাহরণ ২: VLAN কনফিগারেশন¶
এই উদাহরণে, একটি প্লেবুক ব্যবহার করে সুইচে VLAN কনফিগার করা হবে।
প্লেবুক (vlan_config.yaml)¶
---
- name: Configure VLANs
hosts: switches
gather_facts: no
tasks:
- name: Create VLAN 10
ios_config:
lines:
- vlan 10
- name Management
- name: Create VLAN 20
ios_config:
lines:
- vlan 20
- name Data
এই প্লেবুকটি দুটি VLAN তৈরি করবে: VLAN 10 (Management) এবং VLAN 20 (Data)।
উদাহরণ ৩: ব্যাকআপ কনফিগারেশন¶
এই উদাহরণে, একটি প্লেবুক ব্যবহার করে সুইচের কনফিগারেশন ব্যাকআপ নেওয়া হবে।
প্লেবুক (backup_config.yaml)¶
---
- name: Backup Switch Configuration
hosts: switches
gather_facts: no
tasks:
- name: Backup running-config
ios_command:
commands:
- show running-config
register: running_config
- name: Save running-config to file
copy:
content: "{{ running_config.stdout[0] }}"
dest: "/path/to/backup/{{ inventory_hostname }}_running-config.txt"
এই প্লেবুকটি সুইচের রানিং কনফিগারেশন বের করে এবং সেটি একটি ফাইলে সংরক্ষণ করে।
উদাহরণ ৪: লুপ ব্যবহার করে অটোমেশন¶
নিচের প্লেবুকটি একটি লুপ ব্যবহার করে একাধিক VLAN কনফিগার করবে।
প্লেবুক (loop_vlan_config.yaml)¶
---
- name: Configure multiple VLANs using loop
hosts: switches
gather_facts: no
tasks:
- name: Create VLANs
ios_config:
lines:
- vlan {{ item.id }}
- name {{ item.name }}
loop:
- { id: 10, name: Management }
- { id: 20, name: Data }
- { id: 30, name: Voice }
এই প্লেবুকটি একটি লুপ ব্যবহার করে তিনটি VLAN তৈরি করবে: VLAN 10 (Management), VLAN 20 (Data), এবং VLAN 30 (Voice)।
অ্যান্সিবল ইনস্টলেশন এবং ব্যবহার¶
অ্যান্সিবল ইনস্টল করা খুবই সহজ। আপনি নিচের কমান্ডটি ব্যবহার করে অ্যান্সিবল ইনস্টল করতে পারেন:
ইনস্টলেশনের পরে, আপনি একটি ইনভেন্টরি ফাইল তৈরি করতে পারেন যেখানে আপনার সুইচগুলির আইপি অ্যাড্রেস এবং লগইন ক্রেডেনশিয়াল থাকবে। উদাহরণস্বরূপ:
ইনভেন্টরি ফাইল (hosts)¶
[switches]
192.168.1.10 ansible_user=admin ansible_password=admin
192.168.1.11 ansible_user=admin ansible_password=admin
এরপর, আপনি প্লেবুক রান করতে পারবেন নিচের কমান্ডটি ব্যবহার করে:
অ্যান্সিবল ব্যবহার করে আপনি সহজেই বড় নেটওয়ার্ক ডিপ্লয়মেন্ট এবং কনফিগারেশন ম্যানেজমেন্ট করতে পারবেন। এটি নেটওয়ার্ক ইঞ্জিনিয়ারদের কাজকে সহজ করে এবং ত্রুটির সম্ভাবনা হ্রাস করে। অ্যান্সিবল এর সরলতা এবং কার্যকারিতার জন্য এটি বর্তমানে নেটওয়ার্ক অটোমেশনের একটি প্রধান টুল হয়ে উঠেছে।