macOS এ kubectl ইনস্টল এবং সেট আপ করুন
শুরু করার আগে
আপনাকে অবশ্যই একটি kubectl সংস্করণ ব্যবহার করতে হবে যা আপনার ক্লাস্টারের একটি ছোট সংস্করণের পার্থক্যের মধ্যে রয়েছে। উদাহরণস্বরূপ, একটি v1.31 ক্লায়েন্ট v1.30, v1.31, এবং v1.32 নিয়ন্ত্রণ প্লেন এর সাথে যোগাযোগ করতে পারে। kubectl এর সর্বশেষ সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করা অপ্রত্যাশিত সমস্যাগুলি এড়াতে সাহায্য করে৷
macOS এ kubectl ইনস্টল করুন
macOS এ kubectl ইনস্টল করার জন্য নিম্নলিখিত পদ্ধতি রয়েছেঃ
macOS-এ কার্ল সহ kubectl বাইনারি ইনস্টল করুন
১. সর্বশেষ রিলিজ ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
বিঃদ্রঃ:
একটি নির্দিষ্ট সংস্করণ ডাউনলোড করতে, নির্দিষ্ট সংস্করণের সাথে কমান্ডের $(curl -L -s https://dl.k8s.io/release/stable.txt)
অংশটি প্রতিস্থাপন করুন।
উদাহরণস্বরূপ, Intel macOS-এ সংস্করণ 1.31.0 ডাউনলোড করতে, টাইপ করুন:
curl -LO "https://dl.k8s.io/release/v1.31.0/bin/darwin/amd64/kubectl"
এবং অ্যাপল সিলিকনে macOS এর জন্য, টাইপ করুন:
curl -LO "https://dl.k8s.io/release/v1.31.0/bin/darwin/arm64/kubectl"
২. বাইনারি যাচাই করুন (ঐচ্ছিক)
kubectl checksum ফাইল ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256"
চেকসাম ফাইলের বিপরীতে kubectl বাইনারি যাচাই করুন:
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
বৈধ হলে, আউটপুট হল:
kubectl: OK
চেক ব্যর্থ হলে, shasum
অশূন্য স্থিতি সহ প্রস্থান করে এবং অনুরূপ আউটপুট প্রিন্ট করে:
kubectl: FAILED
shasum: WARNING: 1 computed checksum did NOT match
বিঃদ্রঃ:
বাইনারি এবং চেকসামের একই সংস্করণ ডাউনলোড করুন।৩. kubectl বাইনারি এক্সিকিউটেবল করুন।
chmod +x ./kubectl
৪. আপনার সিস্টেম PATH
-এ একটি ফাইল অবস্থানে kubectl বাইনারি সরান।
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
বিঃদ্রঃ:
নিশ্চিত করুন যে/usr/local/bin
আপনার 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
৬. প্লাগইন ইনস্টল করার পরে, ইনস্টলেশন ফাইলগুলি পরিষ্কার করুন:
rm kubectl kubectl.sha256
MacOS এ Homebrew দিয়ে ইনস্টল করুন
আপনি যদি macOS-এ থাকেন এবং Homebrew প্যাকেজ ম্যানেজার ব্যবহার করেন, তাহলে আপনি Homebrew-এর সাথে kubectl ইনস্টল করতে পারেন।
১. ইনস্টলেশন কমান্ড চালান:
brew install kubectl
অথবা,
brew install kubernetes-cli
২. আপনার ইনস্টল করা সংস্করণ আপ-টু-ডেট কিনা তা নিশ্চিত করতে পরীক্ষা করুন:
kubectl version --client
MacOS এ Macports দিয়ে ইনস্টল করুন
আপনি যদি macOS এ থাকেন এবং Macports প্যাকেজ ম্যানেজার ব্যবহার করেন, তাহলে আপনি ম্যাকপোর্টের সাথে kubectl ইনস্টল করতে পারেন।
১. ইনস্টলেশন কমান্ড চালান:
sudo port selfupdate
sudo port install kubectl
২. আপনার ইনস্টল করা সংস্করণ আপ-টু-ডেট কিনা তা নিশ্চিত করতে পরীক্ষা করুন:
kubectl version --client
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-এর জন্য স্বয়ংসম্পূর্ণতা সেট আপ করার পদ্ধতিগুলি রয়েছে৷
ভূমিকা
Bash-এর জন্য kubectl কমপ্লিশন স্ক্রিপ্ট kubectl completion bash
দিয়ে তৈরি করা যেতে পারে। আপনার শেলে এই স্ক্রিপ্টটি সোর্স করা kubectl সম্পূর্ণতা সক্ষম করে।
কিন্তু, kubectl কমপ্লিসন স্ক্রিপ্ট নির্ভর করে bash-completion যা আপনাকে আগে ইনস্টল করতে হবে।
সতর্কতা:
bash-completion এর দুটি সংস্করণ আছে, v1 এবং v2। V1 Bash 3.2 এর জন্য (যা macOS-এ ডিফল্ট), এবং v2 হল Bash 4.1+ এর জন্য। kubectl পূর্ণতা স্ক্রিপ্ট ** কাজ করে না** সঠিকভাবে bash-completion v1 এবং Bash 3.2 এর সাথে। এর জন্য ব্যাশ-সম্পূর্ণ v2 এবং ব্যাশ 4.1+ প্রয়োজন। সুতরাং, macOS-এ kubectl সমাপ্তি সঠিকভাবে ব্যবহার করতে সক্ষম হতে, আপনাকে Bash 4.1+ (instructions) ইনস্টল এবং ব্যবহার করতে হবে। নিম্নলিখিত নির্দেশাবলী অনুমান করে যে আপনি Bash 4.1+ ব্যবহার করেন (অর্থাৎ, 4.1 বা তার পরবর্তী যেকোনো Bash সংস্করণ)।Bash আপগ্রেড করুন
এখানে নির্দেশাবলী অনুমান করে আপনি ব্যাশ 4.1+ ব্যবহার করছেন। আপনি রান করে আপনার ব্যাশের সংস্করণটি পরীক্ষা করতে পারেন:
echo $BASH_VERSION
যদি এটি খুব পুরানো হয়, আপনি Homebrew ব্যবহার করে এটি ইনস্টল/আপগ্রেড করতে পারেন:
brew install bash
আপনার শেল পুনরায় লোড করুন এবং যাচাই করুন যে পছন্দসই সংস্করণটি ব্যবহার করা হচ্ছে:
echo $BASH_VERSION $SHELL
Homebrew সাধারণত /usr/local/bin/bash
এ ইনস্টল হয়।
ব্যাশ-কমপ্লিসন ইনস্টল করুন
বিঃদ্রঃ:
উল্লিখিত হিসাবে, এই নির্দেশাবলী অনুমান করে আপনি Bash 4.1+ ব্যবহার করেন, যার মানে আপনি bash-completion v2 ইনস্টল করবেন (Bash 3.2 এবং bash-completion v1 এর বিপরীতে, এই ক্ষেত্রে kubectl সমাপ্তি কাজ করবে না)।আপনি পরীক্ষা করতে পারেন যদি আপনার bash-completion v2 ইতিমধ্যেই type _init_completion
দিয়ে ইনস্টল করা আছে। যদি না হয়, আপনি homebrew দিয়ে এটি ইনস্টল করতে পারেন:
brew install bash-completion@2
এই কমান্ডের আউটপুটে যেমন বলা হয়েছে, আপনার ~/.bash_profile
ফাইলে নিম্নলিখিত যোগ করুন:
brew_etc="$(brew --prefix)/etc" && [[ -r "${brew_etc}/profile.d/bash_completion.sh" ]] && . "${brew_etc}/profile.d/bash_completion.sh"
আপনার শেল পুনরায় লোড করুন এবং যাচাই করুন যে bash-completion v2 সঠিকভাবে type _init_completion
দিয়ে ইনস্টল করা আছে।
kubectl অটোকমপ্লিসন চালু করুন
আপনাকে এখন নিশ্চিত করতে হবে যে আপনার সমস্ত শেল সেশনে kubectl কমপ্লিসনের স্ক্রিপ্টটি পাওয়া যায়। এটি অর্জন করার একাধিক উপায় রয়েছে:
আপনার
~/.bash_profile
ফাইলে কমপ্লিসনের স্ক্রিপ্ট উৎস করুন:echo 'source <(kubectl completion bash)' >>~/.bash_profile
/usr/local/etc/bash_completion.d
ডিরেক্টরিতে কমপ্লিসনের স্ক্রিপ্ট যোগ করুন:kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
আপনার যদি kubectl এর জন্য একটি উপনাম থাকে তবে আপনি সেই উপনামের সাথে কাজ করার জন্য শেল কমপ্লিসন বাড়াতে পারেন:
echo 'alias k=kubectl' >>~/.bash_profile echo 'complete -o default -F __start_kubectl k' >>~/.bash_profile
আপনি যদি হোমব্রু দিয়ে kubectl ইনস্টল করেন (যেমন এখানে ব্যাখ্যা করা হয়েছে), তাহলে kubectl কমপ্লিসনের স্ক্রিপ্ট ইতিমধ্যেই
/-এ থাকা উচিত usr/local/etc/bash_completion.d/kubectl
। সেক্ষেত্রে আপনার কিছু করার দরকার নেই।বিঃদ্রঃ:
bash-completion v2-এর Homebrew ইনস্টলেশনটিBASH_COMPLETION_COMPAT_DIR
ডিরেক্টরির সমস্ত ফাইলকে উৎস করে, তাই পরবর্তী দুটি পদ্ধতি কাজ করে।
যে কোনো ক্ষেত্রে, আপনার শেল পুনরায় লোড করার পরে, kubectl সমাপ্তি কাজ করা উচিত।
বিঃদ্রঃ:
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/darwin/amd64/kubectl-convert"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert"
২. বাইনারি যাচাই করুন (ঐচ্ছিক)
kubectl-convert checksum ফাইলটি ডাউনলোড করুন:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256"
চেকসাম ফাইলের বিপরীতে kubectl-রূপান্তর বাইনারি যাচাই করুন:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | shasum -a 256 --check
বৈধ হলে, আউটপুট হল:
kubectl-convert: OK
চেক ব্যর্থ হলে, shasum
অশূন্য স্থিতি সহ প্রস্থান করে এবং অনুরূপ আউটপুট প্রিন্ট করে:
kubectl-convert: FAILED
shasum: WARNING: 1 computed checksum did NOT match
বিঃদ্রঃ:
বাইনারি এবং চেকসামের একই সংস্করণ ডাউনলোড করুন।৩. kubectl-রূপান্তর বাইনারি এক্সিকিউটেবল করুন
chmod +x ./kubectl-convert
৪. আপনার সিস্টেম PATH
-এ একটি ফাইল অবস্থানে kubectl-রূপান্তর বাইনারি সরান।
sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
sudo chown root: /usr/local/bin/kubectl-convert
বিঃদ্রঃ:
নিশ্চিত করুন যে/usr/local/bin
আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে আছে।৫. প্লাগইন সফলভাবে ইনস্টল করা হয়েছে যাচাই করুন
kubectl convert --help
আপনি যদি একটি ত্রুটি দেখতে না পান, এর মানে হল প্লাগইনটি সফলভাবে ইনস্টল করা হয়েছে।
৬. প্লাগইন ইনস্টল করার পরে, ইনস্টলেশন ফাইলগুলি পরিষ্কার করুন:
rm kubectl-convert kubectl-convert.sha256
এর পরের কি
- ইনস্টল করুন Minikube
- ক্লাস্টার তৈরি সম্পর্কে আরও জানতে দেখুন গাইড শুরু করা ফাইলটি ।
- আপনার অ্যাপ্লিকেশানটি কীভাবে লঞ্চ করবেন এবং প্রকাশ করবেন তা জানুন ।
- আপনার যদি এমন একটি ক্লাস্টারে অ্যাক্সেসের প্রয়োজন হয় যা আপনি তৈরি করেননি, দেখুন ক্লাস্টার অ্যাক্সেস নথি ভাগ করেন.
- kubectl রেফারেন্স ডক্স পড়ুন ।