লিনাক্সে kubectl ইনস্টল এবং সেট আপ করুন
শুরু করার আগে
আপনাকে অবশ্যই একটি kubectl সংস্করণ ব্যবহার করতে হবে যা আপনার ক্লাস্টারের একটি ছোট সংস্করণের পার্থক্যের মধ্যে রয়েছে। উদাহরণস্বরূপ, একটি v1.32 ক্লায়েন্ট v1.31, v1.32, এবং v1.33 এর কন্ট্রোল প্লেনের সাথে যোগাযোগ করতে পারে। kubectl এর সর্বশেষ সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করা অপ্রত্যাশিত সমস্যাগুলি এড়াতে সাহায্য করে৷
লিনাক্সে kubectl ইনস্টল করুন
লিনাক্সে kubectl ইনস্টল করার জন্য নিম্নলিখিত পদ্ধতি বিদ্যমানঃ
- লিনাক্সে কার্ল দিয়ে kubectl বাইনারি ইনস্টল করুন
- নেটিভ প্যাকেজ ম্যানেজমেন্ট দিয়ে ইনস্টল করুন
- অন্যান্য প্যাকেজ ব্যবস্থাপনা ব্যবহার করে ইনস্টল করুন
লিনাক্সে কার্ল সহ kubectl বাইনারি ইনস্টল করুন
১. কমান্ড সহ সর্বশেষ রিলিজ ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
বিঃদ্রঃ:
একটি নির্দিষ্ট সংস্করণ ডাউনলোড করতে, নির্দিষ্ট সংস্করণের সাথে কমান্ডের $(curl -L -s https://dl.k8s.io/release/stable.txt)
অংশটি প্রতিস্থাপন করুন।
উদাহরণস্বরূপ, লিনাক্সে সংস্করণ 1.32.0 ডাউনলোড করতে, টাইপ করুন:
curl -LO https://dl.k8s.io/release/v1.32.0/bin/linux/amd64/kubectl
২. বাইনারি যাচাই করুন (ঐচ্ছিক)
kubectl চেকসাম ফাইল ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
চেকসাম ফাইলের বিপরীতে kubectl বাইনারি যাচাই করুন:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
বৈধ হলে, আউটপুট হবে:
kubectl: OK
চেক ব্যর্থ হলে, sha256
অশূন্য স্থিতি সহ প্রস্থান করে এবং অনুরূপ আউটপুট প্রিন্ট করে:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
বিঃদ্রঃ:
বাইনারি এবং চেকসামের একই সংস্করণ ডাউনলোড করুন।৩. kubectl ইনস্টল করুন
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
বিঃদ্রঃ:
যদি আপনার টার্গেট সিস্টেমে রুট অ্যাক্সেস না থাকে, তাহলেও আপনি ~/.local/bin
ডিরেক্টরিতে kubectl ইনস্টল করতে পারেন:
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# and then append (or prepend) ~/.local/bin to $PATH
৪. আপনার ইনস্টল করা সংস্করণ আপ-টু-ডেট কিনা তা নিশ্চিত করতে পরীক্ষা করুন:
kubectl version --client
বিঃদ্রঃ:
উপরের কমান্ডটি একটি সতর্কতা তৈরি করবে:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.
আপনি এই সতর্কতা উপেক্ষা করতে পারেন। আপনি শুধুমাত্র kubectl
এর সংস্করণটি পরীক্ষা করছেন যা আপনি ইনস্টল করেছেন।
অথবা সংস্করণের বিস্তারিত দেখার জন্য এটি ব্যবহার করুনঃ
kubectl version --client --output=yaml
নেটিভ প্যাকেজ ম্যানেজমেন্ট ব্যবহার করে ইনস্টল করুন
১. apt
প্যাকেজ ইনডেক্স আপডেট করুন এবং Kubernetes apt
রিপোযিটোরী ব্যবহার করার জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
আপনি যদি ডেবিয়ান ৯ (স্ট্রেচ) বা তার আগে ব্যবহার করেন তবে আপনাকে apt-transport-https
ইনস্টল করতে হবে:
sudo apt-get install -y apt-transport-https
২. গুগল ক্লাউড পাবলিক সাইনিং কী ডাউনলোড করুন:
sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
৩. কুবারনেটিস apt
রিপোযিটোরী যোগ করুন:
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
৪. নতুন রিপোযিটোরীর সাথে apt
প্যাকেজ ইনডেক্স আপডেট করুন এবং kubectl ইনস্টল করুন:
sudo apt-get update
sudo apt-get install -y kubectl
বিঃদ্রঃ:
ডেবিয়ান ১২ এবং উবুন্টু ২২.০৪ এর চেয়ে পুরানো রিলিজে,/etc/apt/keyrings
ডিফল্টরূপে বিদ্যমান নেই।
আপনার প্রয়োজন হলে আপনি এই ডিরেক্টরিটি তৈরি করতে পারেন, এটি ওয়ার্ল্ড-রিডেবল কিন্তু শুধুমাত্র অ্যাডমিনদের দ্বারা লেখার যোগ্য।cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubectl
অন্যান্য প্যাকেজ ব্যবস্থাপনা ব্যবহার করে ইনস্টল করুন
kubectl কনফিগারেশন যাচাই করুন
kubectl-এর জন্য একটি কুবারনেটিস ক্লাস্টার খুঁজে পেতে এবং অ্যাক্সেস পেতে, যার জন্য প্রয়োজন
kubeconfig ফাইল,
যা স্বয়ংক্রিয়ভাবে তৈরি হয় যখন আপনি একটি ক্লাস্টার তৈরি করেন
kube-up.sh
ব্যবহার করে অথবা সফলভাবে একটি Minikube ক্লাস্টার স্থাপন করুন।
ডিফল্টরূপে, kubectl কনফিগারেশন ~/.kube/config
এ অবস্থিত।
ক্লাস্টার অবস্থা পেয়ে kubectl সঠিকভাবে কনফিগার করা হয়েছে তা পরীক্ষা করুন:
kubectl cluster-info
আপনি যদি একটি URL দেখতে পান, তাহলে আপনার ক্লাস্টার অ্যাক্সেস করার জন্য kubectl সঠিকভাবে কনফিগার করা হয়েছে।
আপনি যদি নিম্নলিখিতগুলোর মতো একটি বার্তা দেখতে পান, তাহলে বুঝবেন যে kubectl সঠিকভাবে কনফিগার করা হয়নি অথবা একটি Kubernetes ক্লাস্টারের সাথে সংযোগ করতে সক্ষম নয়।
সার্ভারের সাথে সংযোগ <server-name:port> প্রত্যাখ্যান করা হয়েছিল - আপনি কি সঠিক হোস্ট বা পোর্ট উল্লেখ করেছেন?
উদাহরণস্বরূপ, আপনি যদি আপনার ল্যাপটপে (স্থানীয়ভাবে) একটি কুবারনেটিস ক্লাস্টার চালাতে চান, তাহলে আপনাকে প্রথমে মিনিকুবের মতো একটি টুল ইনস্টল করতে হবে এবং তারপরে উপরে বর্ণিত কমান্ডগুলি পুনরায় চালাতে হবে।
যদি kubectl ক্লাস্টার-তথ্য url প্রতিক্রিয়া প্রদান করে কিন্তু আপনি আপনার ক্লাস্টার অ্যাক্সেস করতে না পারেন, এটি সঠিকভাবে কনফিগার করা হয়েছে কিনা তা পরীক্ষা করতে, ব্যবহার করুন:
kubectl cluster-info dump
'No Auth Provider Found' ত্রুটি বার্তার সমস্যা সমাধান
কুবারনেটিস 1.26-এ, kubectl নিম্নলিখিত ক্লাউড প্রদানকারীদের পরিচালিত কুবারনেটিস অফারগুলোর জন্য অন্তর্নির্মিত অথেনটিকেশন সরিয়ে দিয়েছে। এই প্রদানকারীরা ক্লাউডের-নির্দিষ্ট অথেনটিকেশন প্রদানের জন্য kubectl প্লাগইন প্রকাশ করেছে। নির্দেশাবলীর জন্য, নিম্নলিখিত প্রদানকারী ডকুমেন্টেশন পড়ুন:
- Azure AKS: kubelogin plugin
- Google Kubernetes Engine: gke-gcloud-auth-plugin
(একই ত্রুটির বার্তা দেখার অন্যান্য কারণও থাকতে পারে, এই পরিবর্তনের সাথে সম্পর্কিত নয়।)
ঐচ্ছিক kubectl কনফিগারেশন এবং প্লাগই
শেল অটোকম্পিসন চালু করুন
kubectl Bash, Zsh, Fish এবং PowerShell-এর জন্য অটোকম্পিসন সমর্থন প্রদান করে, যা আপনাকে অনেক টাইপিং বাঁচাতে পারে।
নীচে Bash, Fish, এবং Zsh-এর জন্য স্বয়ংসম্পূর্ণতা সেট আপ করার পদ্ধতিগুলি রয়েছে৷
ভূমিকা
ব্যাশ-এর জন্য kubectl কমপ্লিশন স্ক্রিপ্ট kubectl completion bash
কমান্ড দিয়ে তৈরি করা যেতে পারে। আপনার শেলে সমাপ্তি স্ক্রিপ্ট সোর্স করা kubectl অটোকমপ্লিসন সক্ষম করে।
যাইহোক, কমপ্লিসন স্ক্রিপ্ট ব্যাশ-কমপ্লিসন এর উপর নির্ভর করে, তার মানে হচ্ছে আপনাকে প্রথমে এই সফ্টওয়্যারটি ইনস্টল করতে হবে (আপনার ব্যাশ-কমপ্লিসন ইতিমধ্যেই ইনস্টল করা আছে কিনা তা type _init_completion
চালিয়ে পরীক্ষা করতে পারেন)।
ব্যাশ-কমপ্লিসন ইনস্টল করুন
ব্যাশ-কমপ্লিসন অনেক প্যাকেজ ম্যানেজার দ্বারা প্রদান করা হয় (এখানে দেখুন)। আপনি এটিকে apt-get install bash-completion
অথবা yum install bash-completion
, ইত্যাদি দিয়ে ইনস্টল করতে পারেন।
উপরের কমান্ডগুলি /usr/share/bash-completion/bash_completion
তৈরি করে, যা ব্যাশ-কমপ্লিসন এর প্রধান স্ক্রিপ্ট। আপনার প্যাকেজ ম্যানেজারের উপর নির্ভর করে, আপনাকে ম্যানুয়ালি এই ফাইলটি আপনার ~/.bashrc
ফাইলে সোর্স করতে হবে।
জানতে চাইলে, আপনার শেল পুনরায় লোড করুন এবং type_init_completion
চালান। কমান্ডটি সফল হলে, আপনি ইতিমধ্যেই সেট করেছেন, অন্যথায় আপনার ~/.bashrc
ফাইলে নিম্নলিখিত যোগ করুন:
source /usr/share/bash-completion/bash_completion
আপনার শেল পুনরায় লোড করুন এবং type _init_completion
লিখে ব্যাশ-কমপ্লিসন সঠিকভাবে ইনস্টল করা হয়েছে কিনা তা যাচাই করুন।
kubectl অটোকমপ্লিসন চালু করুন
ব্যাশ
আপনাকে এখন নিশ্চিত করতে হবে যে kubectl সমাপ্তি স্ক্রিপ্টটি আপনার সমস্ত শেল সেশনে পাওয়া যায়। আপনি এটি করতে পারেন যা দুটি উপায় আছেঃ
echo 'source <(kubectl completion bash)' >>~/.bashrc
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
আপনার যদি kubectl এর জন্য একটি অ্যালিঅ্যাস থাকে তবে আপনি সেই অ্যালিঅ্যাসের সাথে কাজ করার জন্য শেল কমপ্লিসন বাড়াতে পারেনঃ
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
বিঃদ্রঃ:
ব্যাশ-কমপ্লিসনের সূত্র/etc/bash_completion.d
-এ সমস্ত কমপ্লিসন স্ক্রিপ্ট।উভয় পন্থা সমতুল্য। আপনার শেল পুনরায় লোড করার পরে, kubectl অটোকমপ্লিসন কাজ করা উচিত। শেলের বর্তমান সেশনে ব্যাশ অটোকমপ্লিসন সক্ষম করতে, ~/.bashrc ফাইলটি উৎস করুনঃ
source ~/.bashrc
বিঃদ্রঃ:
kubectl 1.23 বা তার পরের সংস্করণ প্রয়োজন fish এর স্বয়ংক্রিয় সমাপ্তি করার জন্য ।fish এর জন্য kubectl সমাপ্তি স্ক্রিপ্ট kubectl completion fish
কমান্ড দিয়ে তৈরি করা যেতে পারে। আপনার শেলের মধ্যে সমাপ্তি স্ক্রিপ্ট সোর্স করা kubectl স্বয়ংক্রিয় সমাপ্তি চালু করে।
আপনার সমস্ত শেল সেশনে এটি করতে, আপনার ~/.config/fish/config.fish
ফাইলে নিম্নলিখিত লাইন যুক্ত করুন:
kubectl completion fish | source
আপনার শেল পুনরায় লোড করার পরে, kubectl স্বয়ংক্রিয় সমাপ্তি কাজ করা উচিত।
Zsh-এর জন্য kubectl কমপ্লিশন স্ক্রিপ্ট kubectl completion zsh
কমান্ড দিয়ে তৈরি করা যেতে পারে। আপনার শেলে সমাপ্তি স্ক্রিপ্ট সোর্স করা kubectl স্বয়ংসম্পূর্ণতা সক্ষম করে। 12
আপনার সমস্ত শেল সেশনে এটি করতে, আপনার ~/.zshrc
ফাইলে নিম্নলিখিত যোগ করুন:
source <(kubectl completion zsh)
আপনার যদি kubectl-এর একটি উপনাম থাকে, kubectl স্বয়ংসম্পূর্ণতা স্বয়ংক্রিয়ভাবে এটির সাথে কাজ করবে।
আপনার শেল পুনরায় লোড করার পরে, kubectl স্বয়ংসম্পূর্ণতা কাজ করা উচিত।
যদি আপনি একটি ত্রুটি পান যেমন 2: command not found: compdef
, তাহলে আপনার ~/.zshrc
ফাইলের শুরুতে নিম্নলিখিত যোগ করুন:
autoload -Uz compinit
compinit
kubectl convert
প্লাগইন ইনস্টল করুন
কুবারনেটিস কমান্ড-লাইন টুল kubectl
এর জন্য একটি প্লাগইন, যা আপনাকে বিভিন্ন আপিআই সংস্করণ এর মধ্যে রূপান্তর করতে দেয়।
এটি নতুন কুবারনেটিস রিলিজের সাথে একটি অ-বঞ্চিত আপিআই সংস্করণে স্থানান্তর করতে বিশেষভাবে সহায়ক হতে পারে।
আরও তথ্যের জন্য, অপ্রচলিত apis-এ মাইগ্রেট করুন
১. কমান্ড সহ সর্বশেষ রিলিজ ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
২. বাইনারি যাচাই করুন (ঐচ্ছিক)
kubectl-convert চেকসাম ফাইলটি ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
চেকসাম ফাইলের বিপরীতে kubectl-রূপান্তর বাইনারি যাচাই করুন:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
বৈধ হলে, আউটপুট হল:
kubectl-convert: OK
চেক ব্যর্থ হলে, sha256
অশূন্য স্থিতি সহ প্রস্থান করে এবং অনুরূপ আউটপুট প্রিন্ট করে:
kubectl-convert: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
বিঃদ্রঃ:
বাইনারি এবং চেকসামের একই সংস্করণ ডাউনলোড করুন।৩. kubectl-convert ইনস্টল করুন
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
৪. প্লাগইন সফলভাবে ইনস্টল করা হয়েছে যাচাই করুন
kubectl convert --help
আপনি যদি একটি ত্রুটি দেখতে না পান, এর মানে হল প্লাগইনটি সফলভাবে ইনস্টল করা হয়েছে।
৫. প্লাগইন ইনস্টল করার পরে, ইনস্টলেশন ফাইলগুলি পরিষ্কার করুন:
rm kubectl-convert kubectl-convert.sha256
এর পরের কি
- ইনস্টল করুন Minikube
- ক্লাস্টার তৈরি সম্পর্কে আরও জানতে দেখুন গাইড শুরু করা ফাইলটি ।
- আপনার অ্যাপ্লিকেশানটি কীভাবে লঞ্চ করবেন এবং প্রকাশ করবেন তা জানুন ।
- আপনার যদি এমন একটি ক্লাস্টারে অ্যাক্সেসের প্রয়োজন হয় যা আপনি তৈরি করেননি, দেখুন ক্লাস্টার অ্যাক্সেস নথি ভাগ করেন.
- kubectl রেফারেন্স ডক্স পড়ুন ।