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

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十多年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都成百上千客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)公司。
在 macOS 系統(tǒng)上安裝 kubectl
在 macOS 系統(tǒng)上安裝 kubectl 有如下方法:
- 用 curl 在 macOS 系統(tǒng)上安裝 kubectl
- 用 Homebrew 在 macOS 系統(tǒng)上安裝
- 用 Macports 在 macOS 上安裝
- 作為谷歌云 SDK 的一部分,在 macOS 上安裝
用 curl 在 macOS 系統(tǒng)上安裝 kubectl
1、下載最新的發(fā)行版:
- Intel
curl -LO "https://dl.K8S.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
- Apple Silicon
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
如果需要下載某個(gè)指定的版本,用該指定版本號(hào)替換掉命令的這個(gè)部分:?
$(curl -L -s https://dl.k8s.io/release/stable.txt)?。 例如:要為 Intel macOS 系統(tǒng)下載 v1.23.0 版本,則輸入:curl -LO "https://dl.k8s.io/release/v1.23.0/bin/darwin/amd64/kubectl"對(duì)于 Apple Silicon 版本的 macOS,輸入:
curl -LO "https://dl.k8s.io/release/v1.23.0/bin/darwin/arm64/kubectl"
2、驗(yàn)證可執(zhí)行文件(可選操作)
下載 kubectl 的校驗(yàn)和文件:
- Intel
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
- Apple Silicon
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256"
- 根據(jù)校驗(yàn)和文件,驗(yàn)證 kubectl:
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
- 驗(yàn)證通過(guò)時(shí),輸出如下:
kubectl: OK
- 驗(yàn)證失敗時(shí),?
shasum?將以非零值退出,并打印如下輸出:
kubectl: FAILED
shasum: WARNING: 1 computed checksum did NOT match下載的 kubectl 與校驗(yàn)和文件版本要相同。
3、將 kubectl 置為可執(zhí)行文件:
chmod +x ./kubectl
4、將可執(zhí)行文件 kubectl 移動(dòng)到系統(tǒng)可尋址路徑 ?PATH ?內(nèi)的一個(gè)位置:
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl確保 ?
/usr/local/bin? 在你的 PATH 環(huán)境變量中。
5、測(cè)試一下,確保你安裝的是最新的版本:
kubectl version --client
- 或者使用下面命令來(lái)查看版本的詳細(xì)信息:
kubectl version --client --output=yaml
用 Homebrew 在 macOS 系統(tǒng)上安裝
如果你是 macOS 系統(tǒng),且用的是 Homebrew 包管理工具, 則可以用 Homebrew 安裝 kubectl。
1、運(yùn)行安裝命令:
brew install kubectl
- 或
brew install Kubernetes-cli
2、測(cè)試一下,確保你安裝的是最新的版本:
kubectl version --client
用 Macports 在 macOS 上安裝
如果你用的是 macOS,且用 Macports 包管理工具,則你可以用 Macports 安裝kubectl。
1、運(yùn)行安裝命令:
sudo port selfupdate
sudo port install kubectl2、測(cè)試一下,確保你安裝的是最新的版本:
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ǔ)全腳本可以通過(guò) ?kubectl completion bash? 命令生成。 在你的 shell 中導(dǎo)入(Sourcing)這個(gè)腳本即可啟用補(bǔ)全功能。
此外,kubectl 補(bǔ)全腳本依賴于工具 bash-completion, 所以你必須先安裝它。
Warning:
bash-completion 有兩個(gè)版本:v1 和 v2。v1 對(duì)應(yīng) Bash3.2(也是 macOS 的默認(rèn)安裝版本),v2 對(duì)應(yīng) Bash 4.1+。 kubectl 的補(bǔ)全腳本
無(wú)法適配 bash-completion v1 和 Bash 3.2。 必須為它配備
bash-completion v2 和
Bash 4.1+。 有鑒于此,為了在 macOS 上使用 kubectl 補(bǔ)全功能,你必須要安裝和使用 Bash 4.1+ ( 說(shuō)明)。 后續(xù)說(shuō)明假定你用的是 Bash 4.1+(也就是 Bash 4.1 或更新的版本)
升級(jí) Bash
后續(xù)說(shuō)明假定你已使用 Bash 4.1+。你可以運(yùn)行以下命令檢查 Bash 版本:
echo $BASH_VERSION
如果版本太舊,可以用 Homebrew 安裝/升級(jí):
brew install bash
重新加載 shell,并驗(yàn)證所需的版本已經(jīng)生效:
echo $BASH_VERSION $SHELL
Homebrew 通常把它安裝為 ?/usr/local/bin/bash?。
安裝 bash-completion
如前所述,本說(shuō)明假定你使用的 Bash 版本為 4.1+,這意味著你要安裝 bash-completion v2 (不同于 Bash 3.2 和 bash-completion v1,kubectl 的補(bǔ)全功能在該場(chǎng)景下無(wú)法工作)。
你可以用命令 ?type _init_completion? 測(cè)試 bash-completion v2 是否已經(jīng)安裝。 如未安裝,用 Homebrew 來(lái)安裝它:
brew install bash-completion@2
如命令的輸出信息所顯示的,將如下內(nèi)容添加到文件 ?~/.bash_profile? 中:
export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"重新加載 shell,并用命令 ?type _init_completion? 驗(yàn)證 bash-completion v2 已經(jīng)恰當(dāng)?shù)陌惭b。
啟用 kubectl 自動(dòng)補(bǔ)全功能
你現(xiàn)在需要確保在所有的 shell 環(huán)境中均已導(dǎo)入(sourced) kubectl 的補(bǔ)全腳本, 有若干種方法可以實(shí)現(xiàn)這一點(diǎn):
- 在文件 ?
~/.bash_profile? 中導(dǎo)入(Source)補(bǔ)全腳本:
echo 'source <(kubectl completion bash)' >>~/.bash_profile
- 將補(bǔ)全腳本添加到目錄 ?
/usr/local/etc/bash_completion.d? 中:
kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
- 如果你為 kubectl 定義了別名,則可以擴(kuò)展 shell 補(bǔ)全來(lái)兼容該別名:
echo 'alias k=kubectl' >>~/.bash_profile
echo 'complete -F __start_kubectl k' >>~/.bash_profile如果你是用 Homebrew 安裝的 kubectl,則kubectl 補(bǔ)全腳本應(yīng)該已經(jīng)安裝到目錄 ?/usr/local/etc/bash_completion.d/kubectl? 中了。這種情況下,你什么都不需要做。
用 Hommbrew 安裝的 bash-completion v2 會(huì)初始化 目錄 ?
BASH_COMPLETION_COMPAT_DIR? 中的所有文件,這就是后兩種方法能正常工作的原因。
總之,重新加載 shell 之后,kubectl 補(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? 文件的開(kāi)頭:
autoload -Uz compinit
compinit安裝 kubectl convert 插件
一個(gè) Kubernetes 命令行工具 kubectl 的插件,允許你將清單在不同 API 版本間轉(zhuǎn)換。 這對(duì)于將清單遷移到新的 Kubernetes 發(fā)行版上未被廢棄的 API 版本時(shí)尤其有幫助。 更多信息請(qǐng)?jiān)L問(wèn) 遷移到非棄用 API
1、用以下命令下載最新發(fā)行版:
- Intel
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert"
- Apple Silicon
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert"
2、驗(yàn)證該可執(zhí)行文件(可選步驟)
下載 kubectl-convert 校驗(yàn)和文件:
- Intel
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256"
- Apple Silicon
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256"
基于校驗(yàn)和,驗(yàn)證 kubectl-convert 的可執(zhí)行文件:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | shasum -a 256 --check
驗(yàn)證通過(guò)時(shí),輸出為:
kubectl-convert: OK
驗(yàn)證失敗時(shí),?sha256 ?將以非零值退出,并打印輸出類似于:
kubectl-convert: FAILED
shasum: WARNING: 1 computed checksum did NOT match下載相同版本的可執(zhí)行文件和校驗(yàn)和。
3、使 kubectl-convert 二進(jìn)制文件可執(zhí)行
chmod +x ./kubectl-convert
4、將 kubectl-convert 可執(zhí)行文件移動(dòng)到系統(tǒng) PATH 環(huán)境變量中的一個(gè)位置。
sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
sudo chown root: /usr/local/bin/kubectl-convert確保你的 PATH 環(huán)境變量中存在 ?
/usr/local/bin?
5、驗(yàn)證插件是否安裝成功
kubectl convert --help
如果你沒(méi)有看到任何錯(cuò)誤就代表插件安裝成功了。
當(dāng)前文章:創(chuàng)新互聯(lián)kubernetes教程:KubernetesmacOS安裝
URL網(wǎng)址:http://fisionsoft.com.cn/article/ccssigp.html


咨詢
建站咨詢
