Kubectl কমান্ড রেফারেন্স
Kubectl কমান্ড রেফারেন্স
Kubectl হল Kubernetes ক্লাস্টার পরিচালনার জন্য কমান্ড-লাইন টুল। এটি ক্লাস্টার তৈরি, অ্যাপ্লিকেশন স্থাপন, এবং ক্লাস্টারের রিসোর্স ব্যবস্থাপনার জন্য ব্যবহৃত হয়। এই নিবন্ধে, Kubectl-এর বহুল ব্যবহৃত কমান্ড এবং তাদের অপশনগুলো বিস্তারিতভাবে আলোচনা করা হলো।
Kubectl এর প্রাথমিক ধারণা
Kubectl ব্যবহারের পূর্বে, Kubernetes ক্লাস্টার সম্পর্কে প্রাথমিক ধারণা থাকা প্রয়োজন। Kubernetes হলো একটি কন্টেইনার অর্কেস্ট্রেশন সিস্টেম, যা কন্টেইনারাইজড অ্যাপ্লিকেশন স্থাপন, স্কেল এবং পরিচালনা করে। Kubectl ক্লাস্টারের সাথে যোগাযোগ করে এবং ব্যবহারকারীর দেওয়া কমান্ড অনুযায়ী কাজ করে।
Kubectl কমান্ডের গঠন সাধারণত নিম্নরূপ:
kubectl [command] [TYPE] [NAME] [flags]
- command: এটি Kubectl-এর মূল অপারেশন নির্দেশ করে, যেমন - get, create, apply, delete ইত্যাদি।
- TYPE: এটি রিসোর্সের প্রকার নির্দেশ করে, যেমন - pod, deployment, service ইত্যাদি।
- NAME: এটি রিসোর্সের নাম নির্দেশ করে।
- flags: এটি কমান্ডের আচরণ পরিবর্তন করার জন্য ব্যবহৃত অপশন।
সাধারণ Kubectl কমান্ড
বিভিন্ন ধরনের কাজের জন্য Kubectl কমান্ড ব্যবহার করা যায়। নিচে কয়েকটি গুরুত্বপূর্ণ কমান্ড আলোচনা করা হলো:
ক্লাস্টার তথ্য
- kubectl cluster-info: ক্লাস্টার সম্পর্কে সাধারণ তথ্য প্রদর্শন করে, যেমন - Kubernetes কন্ট্রোল প্লেন, API সার্ভার এবং অন্যান্য গুরুত্বপূর্ণ কম্পোনেন্ট।
- kubectl version: Kubectl এবং Kubernetes সার্ভারের সংস্করণ প্রদর্শন করে। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে সামঞ্জস্যতা যাচাই করতে সহায়ক।
- kubectl config view: বর্তমান Kubectl কনফিগারেশন ফাইল প্রদর্শন করে। এই ফাইলে ক্লাস্টার, ইউজার এবং কন্টেক্সট সম্পর্কিত তথ্য থাকে।
রিসোর্স ব্যবস্থাপনা
- kubectl get: ক্লাস্টারের রিসোর্সগুলো তালিকাভুক্ত করে। উদাহরণস্বরূপ,
kubectl get pods
কমান্ডটি সমস্ত পড তালিকাভুক্ত করবে।
* উদাহরণ: kubectl get deployments -n my-namespace
- 'my-namespace' নামক নেমস্পেসের ডিপ্লয়মেন্টগুলো দেখাবে।
- kubectl describe: কোনো নির্দিষ্ট রিসোর্স সম্পর্কে বিস্তারিত তথ্য প্রদর্শন করে। উদাহরণস্বরূপ,
kubectl describe pod my-pod
কমান্ডটি 'my-pod' নামক পড সম্পর্কে বিস্তারিত তথ্য দেখাবে। - kubectl create: YAML বা JSON ফাইল থেকে রিসোর্স তৈরি করে। উদাহরণস্বরূপ,
kubectl create -f my-deployment.yaml
কমান্ডটি 'my-deployment.yaml' ফাইল থেকে একটি ডিপ্লয়মেন্ট তৈরি করবে। - kubectl apply: YAML বা JSON ফাইল থেকে রিসোর্স তৈরি বা আপডেট করে। এটি সাধারণত কনফিগারেশন ব্যবস্থাপনার জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ,
kubectl apply -f my-service.yaml
কমান্ডটি 'my-service.yaml' ফাইল থেকে একটি সার্ভিস তৈরি বা আপডেট করবে। - kubectl delete: রিসোর্স মুছে ফেলে। উদাহরণস্বরূপ,
kubectl delete pod my-pod
কমান্ডটি 'my-pod' নামক পড মুছে ফেলবে। - kubectl edit: কোনো রিসোর্স এডিট করার জন্য টেক্সট এডিটর খোলে। উদাহরণস্বরূপ,
kubectl edit deployment my-deployment
কমান্ডটি 'my-deployment' নামক ডিপ্লয়মেন্ট এডিট করার জন্য খুলবে।
অ্যাপ্লিকেশন স্থাপন ও ব্যবস্থাপনা
- kubectl run: একটি কন্টেইনারাইজড অ্যাপ্লিকেশন স্থাপন করে। এটি সাধারণত পরীক্ষার জন্য বা দ্রুত কোনো অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ,
kubectl run my-app --image=nginx
কমান্ডটি nginx ইমেজ ব্যবহার করে 'my-app' নামক একটি অ্যাপ্লিকেশন স্থাপন করবে। - kubectl expose: একটি সার্ভিস তৈরি করে অ্যাপ্লিকেশনটিকে নেটওয়ার্কে উন্মুক্ত করে। উদাহরণস্বরূপ,
kubectl expose deployment my-deployment --port=80 --type=LoadBalancer
কমান্ডটি 'my-deployment' নামক ডিপ্লয়মেন্টের জন্য 80 পোর্টে একটি LoadBalancer সার্ভিস তৈরি করবে। - kubectl scale: কোনো ডিপ্লয়মেন্ট বা রেপ্লিকা সেট-এর সংখ্যা পরিবর্তন করে অ্যাপ্লিকেশন স্কেল করে। উদাহরণস্বরূপ,
kubectl scale deployment my-deployment --replicas=3
কমান্ডটি 'my-deployment' নামক ডিপ্লয়মেন্টের রেপ্লিকা সংখ্যা 3-এ উন্নীত করবে। - kubectl rollout: ডিপ্লয়মেন্টের রোলআউট পরিচালনা করে। নতুন সংস্করণে আপগ্রেড বা আগের সংস্করণে রোলব্যাক করার জন্য এটি ব্যবহার করা হয়।
* উদাহরণ: kubectl rollout undo deployment/my-deployment
- পূর্বের সংস্করণে রোলব্যাক করবে।
লগ এবং ডিবাগিং
- kubectl logs: পডের লগ প্রদর্শন করে। উদাহরণস্বরূপ,
kubectl logs my-pod
কমান্ডটি 'my-pod' নামক পডের লগ দেখাবে।
* উদাহরণ: kubectl logs -f my-pod
- পডের লগ লাইভ স্ট্রিমিং করবে।
- kubectl exec: কোনো পডের মধ্যে কমান্ড চালানোর জন্য ব্যবহার করা হয়। উদাহরণস্বরূপ,
kubectl exec -it my-pod -- bash
কমান্ডটি 'my-pod' নামক পডে একটি ইন্টারেক্টিভ bash সেশন শুরু করবে। - kubectl port-forward: লোকাল পোর্টের সাথে ক্লাস্টার পোর্টের সংযোগ স্থাপন করে। এটি ক্লাস্টারের অভ্যন্তরে চলমান অ্যাপ্লিকেশন ডিবাগ করার জন্য খুবই উপযোগী। উদাহরণস্বরূপ,
kubectl port-forward my-pod 8080:80
কমান্ডটি লোকাল পোর্ট 8080-কে পড 'my-pod'-এর 80 পোর্টের সাথে ফরোয়ার্ড করবে।
উন্নত Kubectl কমান্ড
- kubectl cordon: কোনো নোডকে নতুন পড গ্রহণ করা থেকে বিরত রাখে। এটি সাধারণত নোড রক্ষণাবেক্ষণের জন্য ব্যবহৃত হয়।
- kubectl drain: একটি নোড থেকে সমস্ত পড সরিয়ে নেয়। এটি নোড বন্ধ করার আগে ব্যবহার করা হয়।
- kubectl top: ক্লাস্টারের রিসোর্স ব্যবহারের তথ্য প্রদর্শন করে, যেমন - CPU এবং মেমরি ব্যবহার।
- kubectl autoscale: স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশন স্কেল করার জন্য Horizontal Pod Autoscaler (HPA) তৈরি করে।
Kubectl এর নেমস্পেস
নেমস্পেস Kubernetes ক্লাস্টারের মধ্যে রিসোর্সগুলোকে আলাদা করার একটি উপায়। Kubectl কমান্ডে নেমস্পেস নির্দিষ্ট করতে '-n' বা '--namespace' ফ্ল্যাগ ব্যবহার করা হয়। উদাহরণস্বরূপ, kubectl get pods -n my-namespace
কমান্ডটি শুধুমাত্র 'my-namespace' নেমস্পেসের পডগুলো তালিকাভুক্ত করবে।
Kubectl এর আউটপুট ফরম্যাট
Kubectl বিভিন্ন আউটপুট ফরম্যাট সমর্থন করে, যেমন - plain, json, yaml, wide ইত্যাদি। আউটপুট ফরম্যাট পরিবর্তন করতে '-o' বা '--output' ফ্ল্যাগ ব্যবহার করা হয়। উদাহরণস্বরূপ, kubectl get pods -o yaml
কমান্ডটি পডগুলোর তথ্য YAML ফরম্যাটে প্রদর্শন করবে।
Kubectl এবং YAML
YAML (YAML Ain't Markup Language) হলো Kubectl-এর কনফিগারেশন ফাইল লেখার জন্য বহুল ব্যবহৃত একটি ফরম্যাট। YAML ফাইল ব্যবহার করে রিসোর্স তৈরি, আপডেট এবং পরিচালনা করা যায়।
Kubectl এর ব্যবহারিক উদাহরণ
১. একটি নতুন ডিপ্লয়মেন্ট তৈরি করা:
kubectl create -f my-deployment.yaml
২. একটি সার্ভিস তৈরি করা:
kubectl expose deployment my-deployment --port=80 --type=LoadBalancer
৩. পডের লগ দেখা:
kubectl logs my-pod -f
৪. একটি পডের মধ্যে কমান্ড চালানো:
kubectl exec -it my-pod -- bash
Kubectl এর জন্য অতিরিক্ত রিসোর্স
- Kubernetes Documentation: Kubernetes-এর অফিসিয়াল ডকুমেন্টেশন।
- Kubectl Cheat Sheet: Kubectl কমান্ডের একটি সংক্ষিপ্ত তালিকা।
- Kubernetes Tutorials: Kubernetes শেখার জন্য বিভিন্ন টিউটোরিয়াল।
উপসংহার
Kubectl Kubernetes ক্লাস্টার ব্যবস্থাপনার জন্য একটি শক্তিশালী এবং অপরিহার্য টুল। এই নিবন্ধে Kubectl-এর কিছু গুরুত্বপূর্ণ কমান্ড এবং তাদের ব্যবহার সম্পর্কে আলোচনা করা হলো। Kubectl-এর আরও বিস্তারিত জানার জন্য, Kubernetes-এর অফিসিয়াল ডকুমেন্টেশন এবং অন্যান্য অনলাইন রিসোর্স অনুসরণ করতে পারেন।
এই কমান্ডগুলো ছাড়াও, Kubectl-এর আরও অনেক কমান্ড এবং অপশন রয়েছে যা আপনার প্রয়োজন অনুযায়ী ব্যবহার করা যেতে পারে। Kubectl ব্যবহারের মাধ্যমে, আপনি আপনার Kubernetes ক্লাস্টারকে আরও সহজে এবং কার্যকরীভাবে পরিচালনা করতে পারবেন।
এই নিবন্ধটি Kubectl কমান্ডের একটি প্রাথমিক ধারণা দেওয়ার জন্য তৈরি করা হয়েছে। Kubernetes এবং Kubectl-এর আরও গভীরে প্রবেশ করতে, ব্যবহারকারীদের উৎসাহিত করা হচ্ছে।
কন্টেইনারাইজেশন ডকার মাইক্রোসার্ভিসেস ক্লাউড কম্পিউটিং DevOps সিআই/সিডি অটোস্কেলিং লোড ব্যালেন্সিং নেটওয়ার্কিং স্টোরেজ সিকিউরিটি মনিটরিং লগিং টুলিং অ্যাডভান্সড ডিপ্লয়মেন্ট স্ট্র্যাটেজি রিসোর্স কোটা হেলম কিউবারনেটস অপারেটর সার্ভিস মেশ ইনফ্রাস্ট্রাকচার অ্যাজ কোড
এখনই ট্রেডিং শুরু করুন
IQ Option-এ নিবন্ধন করুন (সর্বনিম্ন ডিপোজিট $10) Pocket Option-এ অ্যাকাউন্ট খুলুন (সর্বনিম্ন ডিপোজিট $5)
আমাদের সম্প্রদায়ে যোগ দিন
আমাদের টেলিগ্রাম চ্যানেলে যোগ দিন @strategybin এবং পান: ✓ দৈনিক ট্রেডিং সংকেত ✓ একচেটিয়া কৌশলগত বিশ্লেষণ ✓ বাজারের প্রবণতা সম্পর্কে বিজ্ঞপ্তি ✓ নতুনদের জন্য শিক্ষামূলক উপকরণ