DevOps সফ্টওয়্যার প্রকৌশলী এবং বিকাশকারীরা অ্যাপ্লিকেশনগুলি বিকাশ এবং স্থাপন করার পদ্ধতিকে ব্যাপকভাবে পরিবর্তন করেছে। এই বিপ্লবের কেন্দ্রবিন্দুতে একটি প্রযুক্তি হল Kubernetes৷
৷আসুন অন্বেষণ করি কিভাবে আপনি MicroK8s (MicroKates) ব্যবহার করে উবুন্টুতে Kubernetes-এর একটি স্থানীয় উদাহরণ ইনস্টল করতে পারেন। এই সেটআপের সাথে, আপনি সহজেই একটি সুরক্ষিত, নির্ভরযোগ্য এবং উচ্চ মাপযোগ্য পদ্ধতিতে কন্টেইনার অ্যাপ্লিকেশনগুলি হোস্ট করতে পারেন৷
কেন MicroK8 ব্যবহার করবেন?
Kubernetes হল একটি ওপেন-সোর্স প্ল্যাটফর্ম যা কন্টেইনারাইজড অ্যাপ্লিকেশনগুলির স্বয়ংক্রিয় স্থাপনা, স্কেলিং এবং পরিচালনার মাধ্যমে DevOps অপারেশনগুলিকে স্ট্রীমলাইন করতে সাহায্য করে। Kubernetes কে K8s নামেও পরিচিত, এই নামটি k-এর মধ্যে আটটি অক্ষর গণনা থেকে প্রাপ্ত। এবং s কুবারনেটেস নামে। MicroK8s কে একটি মাইক্রো Kubernetes উদাহরণ হিসেবে ভাবুন।
বেশিরভাগ পাবলিক এবং প্রাইভেট প্রোডাকশন-গ্রেড ক্লাউড এনভায়রনমেন্ট যা উবুন্টু চালায় কন্টেইনারাইজড অ্যাপ পরিচালনার জন্য Charmed Kubernetes ব্যবহার করে। চার্মড কুবারনেটসের সাথে চ্যালেঞ্জ হল, এটি সম্পদের ক্ষুধার্ত এবং সঠিকভাবে কনফিগার করার জন্য একটি ভাল স্তরের জ্ঞানের প্রয়োজন৷
এখানেই MicroK8s আসে। MicroK8s হল একটি ছোট এবং লাইটওয়েট আপস্ট্রিম কুবারনেটস যেটি কোনো ভার্চুয়াল মেশিনের প্রয়োজন ছাড়াই কোনো ডেভেলপারের পিসি, একটি IoT ডিভাইস বা এজ ডিভাইসে চলতে পারে। MicroK8s হল ক্রস-প্ল্যাটফর্ম এবং Intel এবং ARM উভয় আর্কিটেকচারেই চলতে পারে।
MicroK8s আপনাকে ন্যূনতম ঘর্ষণ সহ Kubernetes এর সাথে নিজেকে পরিচিত করার সেরা উপায়গুলির মধ্যে একটি দেয়৷ এটি ক্লাউড নেটিভ কম্পিউটিং ফাউন্ডেশন (CNCF) দ্বারা একটি প্রত্যয়িত কুবারনেটস আপস্ট্রিম, যা নিশ্চিত করে যে Kubernetes-এর বাস্তবায়ন সুনির্দিষ্ট শিল্পের মান অনুযায়ী সঙ্গতিপূর্ণ এবং ইন্টারঅপারেবল।
ধাপ 1:উবুন্টুতে মাইক্রোকে 8 ইনস্টল করা
আপনি স্ন্যাপ কমান্ড ব্যবহার করে সহজেই উবুন্টুতে MicroK8s ইনস্টল করতে পারেন।
sudo snap install microk8s --classic
বিকল্পভাবে, আপনি উবুন্টু সফটওয়্যার সেন্টার ব্যবহার করে GUI থেকে MicroK8s ইনস্টল করতে পারেন। শুধু microk8s অনুসন্ধান করুন এবং তারপর ইনস্টল করুন ক্লিক করুন বোতাম।
ধাপ 2:MicroK8s এর জন্য আপনার ফায়ারওয়াল কনফিগার করা
পড এবং ইন্টারনেটের মধ্যে নির্বিঘ্ন যোগাযোগ নিশ্চিত করতে, আপনার ফায়ারওয়ালের কন্টেইনার নেটওয়ার্ক ইন্টারফেসে ইনকামিং এবং আউটগোয়িং যোগাযোগ সক্ষম করা উচিত।
একটি পড হল কুবারনেটসের সবচেয়ে ছোট স্থাপনযোগ্য কম্পিউটিং ইউনিট; এটি একটি একক বা শেয়ার্ড স্টোরেজ এবং নেটওয়ার্ক রিসোর্স ইত্যাদি সহ কন্টেইনারগুলির একটি গ্রুপ হতে পারে।
sudo ufw allow in on cni0 && sudo ufw allow out on cni0
তারপর, নিম্নলিখিত কমান্ডটি চালান:
sudo ufw default allow routed
আরও জানুন কিভাবে UFW দিয়ে উবুন্টু ফায়ারওয়াল কনফিগার করবেন
ধাপ 3:আপনার ব্যবহারকারীকে MicroK8s গ্রুপে যোগ করা
এই মুহূর্তে, আপনাকে sudo ব্যবহার করতে হবে বেশিরভাগ MicroK8s কমান্ড চালানোর জন্য কমান্ড। যদিও এটি একটি প্রোডাকশন সার্ভারে একটি ভাল নিরাপত্তা ব্যবস্থা, এটি একটি ডেভেলপমেন্ট মেশিনে প্রয়োজনীয় নাও হতে পারে৷
৷সুডো ব্যবহার এড়াতে আপনার ব্যবহারকারীকে MicroK8s গ্রুপে যুক্ত করুন।
sudo usermod -aG microk8s $USER
এছাড়াও, আপনার বর্তমান ব্যবহারকারীকে ~/.kube-এর মালিক করুন৷ ডিরেক্টরি।
sudo chown -f -R $USER ~/.kube
পরিবর্তনগুলি কার্যকর করার জন্য, নিম্নলিখিত কমান্ডটি চালিয়ে ব্যবহারকারী গোষ্ঠীগুলিকে পুনরায় লোড করুন:
newgrp microk8s
আরও জানুন:কিভাবে লিনাক্সে ব্যবহারকারী গ্রুপ পরিচালনা করবেন
ধাপ 4:গুরুত্বপূর্ণ অ্যাডঅন সক্রিয় করা
ডিফল্টরূপে, MicroK8s-এ প্রান্ত এবং IoT ডিভাইসে একটি ন্যূনতম পদচিহ্ন অর্জনের জন্য সর্বনিম্ন পরিমাণ থাকে। যাইহোক, আপনি MicroK8s পরিষেবাগুলি পরিচালনা করতে কয়েকটি গুরুত্বপূর্ণ অ্যাডঅন ইনস্টল করতে পারেন। microk8s দিয়ে DNS, ড্যাশবোর্ড এবং স্টোরেজ অ্যাড-অনগুলি সক্ষম করুন আদেশ।
microk8s enable dns dashboard storage
DNS অ্যাড-অন অন্যান্য পরিষেবাগুলির জন্য প্রয়োজন হতে পারে, তাই এটি সর্বদা সক্রিয় করার পরামর্শ দেওয়া হচ্ছে৷
ড্যাশবোর্ড অ্যাড-অন আপনাকে MicroK8s-এর পরিষেবাগুলির একটি গ্রাফিক্যাল ওভারভিউ দেয়; আপনি পরিষেবাগুলি পরিচালনার জন্যও এটি ব্যবহার করতে পারেন৷
৷আপনি কমান্ডটি চালিয়ে উপলব্ধ MicroK8s অ্যাড-অনগুলির একটি তালিকা দেখতে পারেন:
microk8s status
ধাপ 5:MicroK8s ড্যাশবোর্ড দেখা
এখন যেহেতু আপনি ড্যাশবোর্ড অ্যাড-অন সক্ষম করেছেন, আপনি সহজেই আপনার ওয়েব ব্রাউজার থেকে MicroK8s ড্যাশবোর্ড অ্যাক্সেস করতে পারেন৷
প্রথমত, আপনার ড্যাশবোর্ড পডের আইপি ঠিকানা প্রয়োজন। আপনি কমান্ডটি চালিয়ে এটি পেতে পারেন:
microk8s kubectl get all --all-namespaces
উপরের কমান্ডের আউটপুট থেকে, আপনি লক্ষ্য করবেন যে কুবারনেটস-ড্যাশবোর্ড পরিষেবাটি IP ঠিকানা 10.152.183.35-এ চলছে এবং TCP পোর্ট 443-এ শুনছে৷ মনে রাখবেন যে এই IP ঠিকানাটি আপনার ড্যাশবোর্ড পরিষেবা দ্বারা ব্যবহৃত একটি থেকে ভিন্ন হতে পারে কারণ এটি এলোমেলোভাবে তৈরি করা হয়েছে৷
আপনার ব্রাউজারে, তালিকাভুক্ত আইপি ঠিকানায় যান। এই ক্ষেত্রে, এটি হবে https://10.152.183.35:443 . নিশ্চিত করুন যে আপনি সঠিক URL নির্দেশ করেছেন৷
৷নিরাপত্তার উদ্দেশ্যে, কুবারনেটস ড্যাশবোর্ড আপনাকে সাইন ইন করার জন্য প্রমাণীকরণের বিশদ বিবরণের জন্য অনুরোধ করবে। আপনি নিম্নলিখিত কমান্ডটি চালিয়ে ডিফল্ট ড্যাশবোর্ড টোকেন অ্যাক্সেস করতে পারেন। তারপর kubernetes.io/service-account-token কপি করুন উপস্থাপন করুন এবং টোকেন ইনপুটে পেস্ট করুন।
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
ড্যাশবোর্ড আপনাকে MicroK8s কাজের চাপ, পরিষেবা, কনফিগারেশন, ক্লাস্টার, ইত্যাদির একটি ওভারভিউ উপস্থাপন করে৷
ধাপ 6:MicroK8s দিয়ে একটি পরিষেবা তৈরি করা
MicroK8-এর কার্যকারিতা দেখতে, আসুন একটি মাইক্রোবট পরিষেবা স্থাপনা তৈরি করি যাতে দুটি পড রয়েছে। kubectl ব্যবহার করে পড তৈরি করুন কমান্ড:
microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1
নিচের কমান্ড ব্যবহার করে মাইক্রোবট পড স্কেল করুন।
microk8s kubectl scale deployment microbot --replicas=2
মাইক্রোবট স্থাপনার প্রকাশ করার জন্য একটি পরিষেবা তৈরি করুন৷
৷microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service
আমরা এখন পরিষেবা/মাইক্রোবট-সার্ভিস নামে দুটি মাইক্রোবট পড স্থাপন করেছি . আপনি নিম্নলিখিত কমান্ডটি চালিয়ে মাইক্রোবট পরিষেবা এবং অন্যান্য পরিষেবাগুলির বিশদ বিবরণ দেখতে পারেন:
microk8s kubectl get all --all-namespaces
আপনি লক্ষ্য করবেন যে মাইক্রোবট পরিষেবাটি নোডপোর্টে চলছে, তাই আপনি আপনার পিসিতে ব্রাউজারের মাধ্যমে এটি অ্যাক্সেস করতে পারেন। এই ক্ষেত্রে, পরিষেবাটি এলোমেলোভাবে তৈরি হওয়া পোর্ট 30353-এ চলছে৷
আপনার ব্রাউজারে, URL এ যান https://localhost:30353, যেখানে 30353 উপরের আউটপুটে তালিকাভুক্ত পোর্ট নম্বর। নিশ্চিত করুন যে আপনি সঠিক পোর্ট নম্বর ব্যবহার করছেন।
কুবারনেটস বনাম ডকার:আপনার কোনটি বেছে নেওয়া উচিত?
এই গাইডটি আপনার পিসি বা প্রান্ত ডিভাইসে স্থানীয়ভাবে কুবারনেটসের একটি ন্যূনতম পদচিহ্ন কীভাবে ইনস্টল করতে হয় তা দেখেছে। Kubernetes হল অনেক ডেভেলপারদের কর্মপ্রবাহের অংশ এবং ব্যাপকভাবে উৎপাদনে উচ্চ-স্কেল কনটেইনারাইজড অ্যাপ্লিকেশন স্থাপনের জন্য ব্যবহৃত হয়।
Kubernetes ব্যবহার করা হয় পাত্রের একটি গ্রুপ পরিচালনা বা অর্কেস্ট্রেট করার জন্য, যেমন ডকার পাত্রে, সহজে. স্বতন্ত্র ডকার, অন্যদিকে, প্রধানত একক পাত্র পরিচালনার জন্য ব্যবহৃত হয়। ডকার বা কুবারনেটস ব্যবহার করবেন কিনা তার পছন্দটি আপনার দলের দক্ষতা এবং উত্পাদনে স্থাপন করার জন্য সফ্টওয়্যারের আকারের উপর নির্ভর করবে।