Amazon Elastic Kubernetes Service (EKS) হলো একটি fully managed Kubernetes সার্ভিস যা AWS ক্লাউডে Kubernetes অ্যাপ্লিকেশন ডিপ্লয় এবং ম্যানেজ করতে সহায়তা করে। Kubernetes একটি ওপেন সোর্স অর্কেস্ট্রেশন টুল যা কন্টেইনারাইজড অ্যাপ্লিকেশনগুলিকে স্কেল, ম্যানেজ এবং অটোমেট করতে সহায়ক।
EKS ব্যবহার করে, AWS আপনার Kubernetes ক্লাস্টারকে সম্পূর্ণরূপে ম্যানেজ এবং স্কেল করে, যাতে ডেভেলপাররা কেবল তাদের অ্যাপ্লিকেশন এবং ডেপ্লয়মেন্ট প্রক্রিয়ার উপর মনোনিবেশ করতে পারেন। EKS একটি উচ্চমানের Kubernetes ক্লাস্টার তৈরির জন্য একটি সহজ এবং নিরাপদ উপায় প্রদান করে।
EKS ক্লাস্টার তৈরি করতে হলে, প্রথমে IAM রোল এবং পলিসি সেটআপ করতে হবে।
AmazonEKSClusterPolicy
AmazonEKSServicePolicy
AmazonEC2ContainerRegistryReadOnly
AmazonEKSWorkerNodePolicy
EKS ক্লাস্টারটি তৈরি হওয়ার পর, আপনি kubectl CLI টুল ব্যবহার করে আপনার ক্লাস্টারের সাথে ইন্টারঅ্যাক্ট করতে পারবেন।
kubectl
হল Kubernetes এর CLI টুল যা আপনাকে ক্লাস্টারের সাথে ইন্টারঅ্যাক্ট করতে সহায়ক।
AWS CLI এবং kubectl ইনস্টল করুন:
sudo apt-get install awscli
sudo apt-get install kubectl
EKS CLI Configuration: EKS ক্লাস্টারের সাথে যোগাযোগ করার জন্য আপনার AWS ক্লাউডক্রেডেনশিয়ালস এবং EKS ক্লাস্টারের কনফিগারেশন সেটআপ করুন।
aws eks --region <region> update-kubeconfig --name <cluster-name>
এটি EKS ক্লাস্টারের kubeconfig ফাইলটি আপডেট করবে, যা আপনাকে kubectl
ব্যবহার করে ক্লাস্টারে কমান্ড পাঠানোর অনুমতি দেবে।
একটি EKS ক্লাস্টারে কাজ করার জন্য, আপনি EC2 ইনস্ট্যান্স হিসেবে worker nodes অ্যাড করতে হবে।
AmazonEKSWorkerNodePolicy
) অ্যাটাচ করবে।Kubernetes ক্লাস্টারে অ্যাপ্লিকেশন ডিপ্লয় করতে, আপনাকে YAML ফাইল ব্যবহার করে পড এবং সার্ভিস তৈরি করতে হবে।
উদাহরণস্বরূপ, একটি সাধারণ ডেপ্লয়মেন্ট YAML ফাইল তৈরি করুন:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
এই YAML ফাইলটি Kubernetes ক্লাস্টারে অ্যাপ্লিকেশন ডিপ্লয় করতে ব্যবহার করা যাবে:
kubectl apply -f nginx-deployment.yaml
এটি ৩টি পড তৈরি করবে এবং সেগুলোর মধ্যে লোড ব্যালেন্সিং শুরু করবে।
EKS ক্লাস্টার ব্যবস্থাপনার জন্য কিছু গুরুত্বপূর্ণ টুলস এবং প্রক্রিয়া রয়েছে:
Horizontal Pod Autoscaling: এটি Kubernetes পডগুলির সংখ্যা স্বয়ংক্রিয়ভাবে বৃদ্ধি বা হ্রাস করতে পারে, যখন মেট্রিক্সের উপর ভিত্তি করে লোড পরিবর্তিত হয়।
kubectl autoscale deployment nginx-deployment --cpu-percent=50 --min=1 --max=10
EKS ক্লাস্টারটির Kubernetes ভার্সন আপডেট করার জন্য AWS Management Console বা CLI ব্যবহার করা যেতে পারে:
aws eks update-cluster-version --name <cluster-name> --kubernetes-version <new-version>
EKS (Elastic Kubernetes Service) একটি fully managed Kubernetes সার্ভিস যা AWS ব্যবহারকারীদের ক্লাস্টারে অ্যাপ্লিকেশন ডিপ্লয়, ম্যানেজ এবং স্কেল করার জন্য একটি সুরক্ষিত এবং স্কেলেবল পরিবেশ প্রদান করে। EKS ক্লাস্টার সেটআপ প্রক্রিয়া সহজ হলেও, এর মধ্যে IAM রোল, VPC সেটআপ, worker nodes অ্যাড করা এবং ডেপ্লয়মেন্ট করার মতো গুরুত্বপূর্ণ ধাপ রয়েছে। EKS ক্লাস্টার ম্যানেজমেন্টের জন্য স্কেলিং, লগিং, মনিটরিং এবং আপডেটিং এর মতো গুরুত্বপূর্ণ কার্যক্রম AWS CLI বা কনসোলের মাধ্যমে সম্পন্ন করা যায়। EKS-এর মাধ্যমে আপনি Kubernetes ব্যবহার করে স্কেলেবল, ম্যানেজড এবং পারফরম্যান্স ভিত্তিক ডেপ্লয়মেন্ট অ্যাপ্লিকেশন তৈরি করতে পারেন।
Read more