新聞中心
kubectl 版本和集群版本之間的差異必須在一個(gè)小版本號(hào)內(nèi)。 例如:v1.23 版本的客戶端能與 v1.22、 v1.23 和 v1.24 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可預(yù)見的問(wèn)題。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、海勃灣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
在 Linux 系統(tǒng)中安裝 kubectl
在 Linux 系統(tǒng)中安裝 kubectl 有如下幾種方法:
- 用 curl 在 Linux 系統(tǒng)中安裝 kubectl
- 用原生包管理工具安裝
- 用其他包管理工具安裝
用 curl 在 Linux 系統(tǒng)中安裝 kubectl
1、用以下命令下載最新發(fā)行版:
curl -LO "https://dl.K8S.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Note:
如需下載某個(gè)指定的版本,請(qǐng)用指定版本號(hào)替換該命令的這一部分:?
$(curl -L -s https://dl.k8s.io/release/stable.txt)。?
例如,要在 Linux 中下載 v1.23.0 版本,請(qǐng)輸入:
curl -LO https://dl.k8s.io/release/v1.23.0/bin/linux/amd64/kubectl
2、驗(yàn)證該可執(zhí)行文件(可選步驟)
- 下載 kubectl 校驗(yàn)和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
- 基于校驗(yàn)和文件,驗(yàn)證 kubectl 的可執(zhí)行文件:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
- 驗(yàn)證通過(guò)時(shí),輸出為:
kubectl: OK
- 驗(yàn)證失敗時(shí),sha256 將以非零值退出,并打印如下輸出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
下載的 kubectl 與校驗(yàn)和文件版本必須相同。
3、安裝 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
即使你沒有目標(biāo)系統(tǒng)的 root 權(quán)限,仍然可以將 kubectl 安裝到目錄 ~/.local/bin 中:
chmod +x kubectl mkdir -p ~/.local/bin mv ./kubectl ~/.local/bin/kubectl # 之后將 ~/.local/bin 附加(或前置)到 $PATH
4、執(zhí)行測(cè)試,以保障你安裝的版本是最新的:
kubectl version --client
- 或者使用如下命令來(lái)查看版本的詳細(xì)信息:
kubectl version --client --output=yaml
用原生包管理工具安裝
Ubuntu、Debian 或 HypriotOS
1、更新 ?apt ?包索引,并安裝使用 Kubernetes apt 倉(cāng)庫(kù)所需要的包:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
2、下載 Google Cloud 公開簽名秘鑰:
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
3、添加 Kubernetes ?apt ?倉(cāng)庫(kù):
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
4、更新 ?apt ?包索引,使之包含新的倉(cāng)庫(kù)并安裝 kubectl:
sudo apt-get update
sudo apt-get install -y kubectl
基于 Red Hat 的發(fā)行版
cat <
用其他包管理工具安裝
Snap
如果你使用的 Ubuntu 或其他 Linux 發(fā)行版,內(nèi)建支持 snap 包管理工具, 則可用 snap 命令安裝 kubectl。
snap install kubectl --classic
kubectl version --client
Homebrew
如果你使用 Linux 系統(tǒng),并且裝了 Homebrew 包管理工具, 則可以使用這種方式安裝 kubectl。
brew install kubectl
kubectl version --client
驗(yàn)證 kubectl 配置
為了讓 kubectl 能發(fā)現(xiàn)并訪問(wèn) Kubernetes 集群,你需要一個(gè) kubeconfig 文件, 該文件在 kube-up.sh 創(chuàng)建集群時(shí),或成功部署一個(gè) Miniube 集群時(shí),均會(huì)自動(dòng)生成。 通常,kubectl 的配置信息存放于文件 ?~/.kube/config? 中。
通過(guò)獲取集群狀態(tài)的方法,檢查是否已恰當(dāng)?shù)呐渲昧?nbsp;kubectl:
kubectl cluster-info
如果返回一個(gè) URL,則意味著 kubectl 成功的訪問(wèn)到了你的集群。
如果你看到如下所示的消息,則代表 kubectl 配置出了問(wèn)題,或無(wú)法連接到 Kubernetes 集群。
The connection to the server was refused - did you specify the right host or port?
(訪問(wèn) 被拒絕 - 你指定的主機(jī)和端口是否有誤?)
例如,如果你想在自己的筆記本上(本地)運(yùn)行 Kubernetes 集群,你需要先安裝一個(gè) Minikube 這樣的工具,然后再重新運(yùn)行上面的命令。
如果命令 ?kubectl cluster-info? 返回了 url,但你還不能訪問(wèn)集群,那可以用以下命令來(lái)檢查配置是否妥當(dāng):
kubectl cluster-info dump
kubectl 的可選配置和插件
啟用 shell 自動(dòng)補(bǔ)全功能
kubectl 為 Bash、Zsh、Fish 和 PowerShell 提供自動(dòng)補(bǔ)全功能,可以為你節(jié)省大量的輸入。
下面是為 Bash、Fish 和 Zsh 設(shè)置自動(dòng)補(bǔ)全功能的操作步驟。
Bash
kubectl 的 Bash 補(bǔ)全腳本可以用命令 ?kubectl completion bash? 生成。 在 shell 中導(dǎo)入(Sourcing)補(bǔ)全腳本,將啟用 kubectl 自動(dòng)補(bǔ)全功能。
然而,補(bǔ)全腳本依賴于工具 bash-completion, 所以要先安裝它(可以用命令 ?type _init_completion? 檢查 bash-completion 是否已安裝)。
安裝 bash-completion
很多包管理工具均支持 bash-completion(參見這里)。 可以通過(guò) ?apt-get install bash-completion? 或 ?yum install bash-completion? 等命令來(lái)安裝它。
上述命令將創(chuàng)建文件 ?/usr/share/bash-completion/bash_completion?,它是 bash-completion 的主腳本。 依據(jù)包管理工具的實(shí)際情況,你需要在 ?~/.bashrc? 文件中手工導(dǎo)入此文件。
要查看結(jié)果,請(qǐng)重新加載你的 shell,并運(yùn)行命令 ?type _init_completion?。 如果命令執(zhí)行成功,則設(shè)置完成,否則將下面內(nèi)容添加到文件 ?~/.bashrc? 中:
source /usr/share/bash-completion/bash_completion
重新加載 shell,再輸入命令 ?type _init_completion? 來(lái)驗(yàn)證 bash-completion 的安裝狀態(tài)。
啟動(dòng) kubectl 自動(dòng)補(bǔ)全功能
你現(xiàn)在需要確保一點(diǎn):kubectl 補(bǔ)全腳本已經(jīng)導(dǎo)入(sourced)到 shell 會(huì)話中。 可以通過(guò)以下兩種方法進(jìn)行設(shè)置:
- 當(dāng)前用戶
echo 'source <(kubectl completion bash)' >>~/.bashrc
- 系統(tǒng)全局
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
如果 kubectl 有關(guān)聯(lián)的別名,你可以擴(kuò)展 shell 補(bǔ)全來(lái)適配此別名:
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc
bash-completion 負(fù)責(zé)導(dǎo)入 ?
/etc/bash_completion.d? 目錄中的所有補(bǔ)全腳本。
兩種方式的效果相同。重新加載 shell 后,kubectl 自動(dòng)補(bǔ)全功能即可生效。
Fish
kubectl 通過(guò)命令 ?kubectl completion fish? 生成 Fish 自動(dòng)補(bǔ)全腳本。 在 shell 中導(dǎo)入(Sourcing)該自動(dòng)補(bǔ)全腳本,將啟動(dòng) kubectl 自動(dòng)補(bǔ)全功能。
為了在所有的 shell 會(huì)話中實(shí)現(xiàn)此功能,請(qǐng)將下面內(nèi)容加入到文件 ?~/.config/fish/config.fish? 中。
kubectl completion fish | source
重新加載 shell 后,kubectl 自動(dòng)補(bǔ)全功能將立即生效。
Zsh
kubectl 通過(guò)命令 ?kubectl completion zsh? 生成 Zsh 自動(dòng)補(bǔ)全腳本。 在 shell 中導(dǎo)入(Sourcing)該自動(dòng)補(bǔ)全腳本,將啟動(dòng) kubectl 自動(dòng)補(bǔ)全功能。
為了在所有的 shell 會(huì)話中實(shí)現(xiàn)此功能,請(qǐng)將下面內(nèi)容加入到文件 ?~/.zshrc? 中。
source <(kubectl completion zsh)
如果你為 kubectl 定義了別名,kubectl 自動(dòng)補(bǔ)全將自動(dòng)使用它。
重新加載 shell 后,kubectl 自動(dòng)補(bǔ)全功能將立即生效。
如果你收到 ?2: command not found: compdef? 這樣的錯(cuò)誤提示,那請(qǐng)將下面內(nèi)容添加到 ?~/.zshrc? 文件的開頭:
autoload -Uz compinit
compinit
安裝 kubectl convert 插件
一個(gè) Kubernetes 命令行工具 ?kubectl ?的插件,允許你將清單在不同 API 版本間轉(zhuǎn)換。 這對(duì)于將清單遷移到新的 Kubernetes 發(fā)行版上未被廢棄的 API 版本時(shí)尤其有幫助。
1、用以下命令下載最新發(fā)行版:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
2、驗(yàn)證該可執(zhí)行文件(可選步驟)
- 下載 kubectl-convert 校驗(yàn)和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
- 基于校驗(yàn)和,驗(yàn)證 kubectl-convert 的可執(zhí)行文件:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
- 驗(yàn)證通過(guò)時(shí),輸出為:
kubectl-convert: OK
驗(yàn)證失敗時(shí),?sha256 ?將以非零值退出,并打印輸出類似于:
kubectl-convert: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
下載相同版本的可執(zhí)行文件和校驗(yàn)和。
3、安裝 kubectl-convert
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
4、驗(yàn)證插件是否安裝成功
kubectl convert --help
如果你沒有看到任何錯(cuò)誤就代表插件安裝成功了。
名稱欄目:創(chuàng)新互聯(lián)kubernetes教程:KubernetesLinux安裝
鏈接分享:http://fisionsoft.com.cn/article/cdhpsoc.html


咨詢
建站咨詢
