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"
   

২. বাইনারি যাচাই করুন (ঐচ্ছিক)

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

৫. আপনার ইনস্টল করা সংস্করণ আপ-টু-ডেট কিনা তা নিশ্চিত করতে পরীক্ষা করুন:

kubectl version --client

অথবা সংস্করণের বিস্তারিত দেখার জন্য এটি ব্যবহার করুন:

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 প্লাগইন প্রকাশ করেছে। নির্দেশাবলীর জন্য, নিম্নলিখিত প্রদানকারী ডকুমেন্টেশন পড়ুন:

(একই ত্রুটির বার্তা দেখার অন্যান্য কারণও থাকতে পারে, এই পরিবর্তনের সাথে সম্পর্কিত নয়।)

ঐচ্ছিক kubectl কনফিগারেশন এবং প্লাগইন

শেল অটোকমপ্লিট সক্ষম করুন

kubectl Bash, Zsh, Fish এবং PowerShell-এর জন্য অটোকমপ্লিট সমর্থন প্রদান করে যা আপনাকে অনেক টাইপিং বাঁচাতে পারে।

নীচে Bash, Fish, এবং Zsh-এর জন্য স্বয়ংসম্পূর্ণতা সেট আপ করার পদ্ধতিগুলি রয়েছে৷

ভূমিকা

Bash-এর জন্য kubectl কমপ্লিশন স্ক্রিপ্ট kubectl completion bash দিয়ে তৈরি করা যেতে পারে। আপনার শেলে এই স্ক্রিপ্টটি সোর্স করা kubectl সম্পূর্ণতা সক্ষম করে।

কিন্তু, kubectl কমপ্লিসন স্ক্রিপ্ট নির্ভর করে bash-completion যা আপনাকে আগে ইনস্টল করতে হবে।

Bash আপগ্রেড করুন

এখানে নির্দেশাবলী অনুমান করে আপনি ব্যাশ 4.1+ ব্যবহার করছেন। আপনি রান করে আপনার ব্যাশের সংস্করণটি পরীক্ষা করতে পারেন:

echo $BASH_VERSION

যদি এটি খুব পুরানো হয়, আপনি Homebrew ব্যবহার করে এটি ইনস্টল/আপগ্রেড করতে পারেন:

brew install bash

আপনার শেল পুনরায় লোড করুন এবং যাচাই করুন যে পছন্দসই সংস্করণটি ব্যবহার করা হচ্ছে:

echo $BASH_VERSION $SHELL

Homebrew সাধারণত /usr/local/bin/bash এ ইনস্টল হয়।

ব্যাশ-কমপ্লিসন ইনস্টল করুন

আপনি পরীক্ষা করতে পারেন যদি আপনার 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। সেক্ষেত্রে আপনার কিছু করার দরকার নেই।

যে কোনো ক্ষেত্রে, আপনার শেল পুনরায় লোড করার পরে, kubectl সমাপ্তি কাজ করা উচিত।

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

৫. প্লাগইন সফলভাবে ইনস্টল করা হয়েছে যাচাই করুন

kubectl convert --help

আপনি যদি একটি ত্রুটি দেখতে না পান, এর মানে হল প্লাগইনটি সফলভাবে ইনস্টল করা হয়েছে।

৬. প্লাগইন ইনস্টল করার পরে, ইনস্টলেশন ফাইলগুলি পরিষ্কার করুন:

rm kubectl-convert kubectl-convert.sha256

এর পরের কি

সর্বশেষ পরিবর্তিত May 11, 2024 at 8:51 PM PST: Use skew shortcode instead of deprecated param shortcode (e12802ecf9)