Kubernetes Windows安裝

2022-04-28 11:55 更新

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

在 Windows 上安裝 kubectl 

在 Windows 系統(tǒng)中安裝 kubectl 有如下幾種方法:

  • 用 curl 在 Windows 上安裝 kubectl
  • 在 Windows 上用 Chocolatey 或 Scoop 安裝

用 curl 在 Windows 上安裝 kubectl

1、下載 最新發(fā)行版 v1.23.0。

如果你已安裝了 ?curl?,也可以使用此命令:

curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe"

2、驗(yàn)證該可執(zhí)行文件(可選步驟)

下載 ?kubectl ?校驗(yàn)和文件:

curl -LO "https://dl.k8s.io/v1.23.0/bin/windows/amd64/kubectl.exe.sha256"

基于校驗(yàn)和文件,驗(yàn)證 kubectl 的可執(zhí)行文件:

  • 在命令行環(huán)境中,手工對(duì)比 CertUtil 命令的輸出與校驗(yàn)和文件:
CertUtil -hashfile kubectl.exe SHA256
type kubectl.exe.sha256

用 PowerShell 自動(dòng)驗(yàn)證,用運(yùn)算符 ?-eq? 來(lái)直接取得 ?True ?或 ?False ?的結(jié)果:

$($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)

3、將 ?kubectl ?二進(jìn)制文件夾追加或插入到你的 ?PATH ?環(huán)境變量中。

4、測(cè)試一下,確保此 ?kubectl ?的版本和期望版本一致:

kubectl version --client

或者使用下面命令來(lái)查看版本的詳細(xì)信息:

kubectl version --client --output=yaml

Windows 版的 Docker Desktop 將其自帶版本的 ?kubectl ?添加到 ?PATH?。 如果你之前安裝過(guò) Docker Desktop,可能需要把此 ?PATH ?條目置于 Docker Desktop 安裝的條目之前, 或者直接刪掉 Docker Desktop 的 ?kubectl?。

在 Windows 上用 Chocolatey 或 Scoop 安裝

1、要在 Windows 上安裝 kubectl,你可以使用包管理器 Chocolatey 或是命令行安裝器 Scoop。

  • choco
choco install kubernetes-cli
  • scoop
scoop install kubectl

2、測(cè)試一下,確保安裝的是最新版本:

kubectl version --client

3、導(dǎo)航到你的 home 目錄:

# 當(dāng)你用 cmd.exe 時(shí),則運(yùn)行: cd %USERPROFILE%
cd ~

4、創(chuàng)建目錄 ?.kube?:

mkdir .kube

5、切換到新創(chuàng)建的目錄 ?.kube ?

cd .kube

6、配置 kubectl,以接入遠(yuǎn)程的 Kubernetes 集群:

New-Item config -type file

編輯配置文件,你需要先選擇一個(gè)文本編輯器,比如 Notepad。

驗(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 <server-name:port> was refused - did you specify the right host or port?
(訪問(wèn) <server-name:port> 被拒絕 - 你指定的主機(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é)省大量的輸入。

下面是設(shè)置 PowerShell 自動(dòng)補(bǔ)全功能的操作步驟。

使用命令 ?kubectl completion powershell? 生成 PowerShell 的 kubectl 自動(dòng)補(bǔ)全腳本。

如果需要自動(dòng)補(bǔ)全在所有 shell 會(huì)話中生效,請(qǐng)將以下命令添加到 ?$PROFILE? 文件中:

kubectl completion powershell | Out-String | Invoke-Expression

此命令將在每次 PowerShell 啟動(dòng)時(shí)重新生成自動(dòng)補(bǔ)全腳本。你還可以將生成的自動(dòng)補(bǔ)全腳本添加到 ?$PROFILE? 文件中。

如果需要將自動(dòng)補(bǔ)全腳本直接添加到 ?$PROFILE? 文件中,請(qǐng)?jiān)?nbsp;PowerShell 終端運(yùn)行以下命令:

kubectl completion powershell >> $PROFILE

完成上述操作后重啟 shell,kubectl的自動(dòng)補(bǔ)全就可以工作了。

安裝 kubectl convert 插件

一個(gè) Kubernetes 命令行工具 ?kubectl ?的插件,允許你將清單在不同 API 版本間轉(zhuǎn)換。 這對(duì)于將清單遷移到新的 Kubernetes 發(fā)行版上未被廢棄的 API 版本時(shí)尤其有幫助。

1、用以下命令下載最新發(fā)行版:

curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl-convert.exe"

2、驗(yàn)證該可執(zhí)行文件(可選步驟)

下載 ?kubectl-convert? 校驗(yàn)和文件:

curl -LO "https://dl.k8s.io/v1.23.0/bin/windows/amd64/kubectl-convert.exe.sha256"

基于校驗(yàn)和,驗(yàn)證 ?kubectl-convert? 的可執(zhí)行文件:

  • 用提示的命令對(duì) ?CertUtil ?的輸出和下載的校驗(yàn)和文件進(jìn)行手動(dòng)比較。

CertUtil -hashfile kubectl-convert.exe SHA256
type kubectl-convert.exe.sha256

  • 使用 PowerShell ?-eq? 操作使驗(yàn)證自動(dòng)化,獲得 ?True ?或者 ?False ?的結(jié)果:

$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)

3、將 kubectl-convert 二進(jìn)制文件夾附加或添加到你的 PATH 環(huán)境變量中。

4、驗(yàn)證插件是否安裝成功

kubectl convert --help

如果你沒(méi)有看到任何錯(cuò)誤就代表插件安裝成功了。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)