環(huán)境準(zhǔn)備
你需要準(zhǔn)備一個(gè)Kubernetes集群,你要記下你安裝Kubernetes的版本。如圖我已經(jīng)準(zhǔn)備好了一個(gè)版本號(hào)為 v1.21.14
的集群:
下載kubectl
下載地址
注意下載的版本號(hào)最好與你安裝的Kubernetes版本對(duì)應(yīng)上,各個(gè)版本的下載地址(??注意修改url中的版本號(hào)):
-
Windows:
- x86_64:
https://dl.k8s.io/release/版本號(hào)/bin/windows/amd64/kubectl.exe
- arm64:
https://dl.k8s.io/release/版本號(hào)/bin/windows/arm64/kubectl.exe
-
MacOS:
- Intel:
https://dl.k8s.io/release/版本號(hào)/bin/darwin/amd64/kubectl
- Apple Silicon:
https://dl.k8s.io/release/版本號(hào)/bin/darwin/arm64/kubectl
-
Linux:
- x86_64:
https://dl.k8s.io/release/版本號(hào)/bin/linux/amd64/kubectl
- arm64:
https://dl.k8s.io/release/版本號(hào)/bin/linux/arm64/kubectl
以 v1.21.14
的 MacOS M1芯片的電腦為例,我的下載地址就為(注意修改版本號(hào)):
https://dl.k8s.io/release/v1.21.14/bin/darwin/arm64/kubectl
安裝kubectl并處理配置文件
本次會(huì)以MacOS、Windows、Linux三個(gè)系統(tǒng)為例為大家講解。你可以在目錄中快速點(diǎn)擊你的操作系統(tǒng),只看你自己的操作系統(tǒng)的內(nèi)容即可。
Windows的安裝配置
安裝kubectl
因?yàn)槲业腤indows電腦是x86_64架構(gòu)的,所以我的下載地址為(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/windows/amd64/kubectl.exe
然后我們創(chuàng)建一個(gè)目錄去安裝kubectl,如圖:
每個(gè)目錄的作用:
- bin: 裝kubectl可執(zhí)行文件的目錄
- config: 配置文件的目錄
接下來我們將kubectl下載到bin目錄下:
然后我們可以執(zhí)行下面命令查看幫助:
.\kubectl.exe --help
執(zhí)行如圖:
接下來我們需要配置一下環(huán)境變量,來到設(shè)置點(diǎn)擊系統(tǒng):
然后點(diǎn)擊關(guān)于之后點(diǎn)擊高級(jí)系統(tǒng)設(shè)置:
然后點(diǎn)擊環(huán)境變量:
在環(huán)境變量下點(diǎn)擊新建:
配置一個(gè)名為 KUBERNETES_HOME
的環(huán)境變量,值為你Kubernetes安裝的根目錄:
然后找到path之后將這行配置添加到最后:
%KUBERNETES_HOME%\bin
如圖:
最后我們重啟PowerShell就可以在任何地方執(zhí)行kubectl了:
拉取配置文件
現(xiàn)在僅僅只是安裝了kubectl,但是還沒有指定kubectl去連接哪個(gè)集群。我們需要在Kubernetes主節(jié)點(diǎn)當(dāng)中去拉取下來配置文件,這個(gè)配置文件當(dāng)中一般還包含著認(rèn)證信息。這個(gè)文件一般存放于主節(jié)點(diǎn)的 /etc/kubernetes/admin.conf
處,我們直接使用這行命令來拉?。?/p>
# 來到kubernetes的配置文件目錄
cd E:\Software\Developer\Tools\Kubernetes\conf\
# 拉取配置文件,為了區(qū)分多個(gè)集群的配置文件,我們給其從新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如圖:
然后我們需要配置一個(gè) KUBECONFIG
環(huán)境變量名字去指向這個(gè)配置文件:
然后我們重啟PowerShell就能遠(yuǎn)程工作apiserver為192.168.1.160的這臺(tái)主機(jī)了:
Mac的安裝配置
安裝kubectl
因?yàn)槲业腗ac電腦是M1芯片的,所以我的下載地址為(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/darwin/arm64/kubectl
然后我們創(chuàng)建一個(gè)目錄去安裝kubectl,如圖:
每個(gè)目錄的作用:
- bin: 裝kubectl可執(zhí)行文件的目錄
- config: 配置文件的目錄
接下來我們將kubectl下載到bin目錄下:
然后我們還需要執(zhí)行以下命令來為它賦予執(zhí)行權(quán)限:
chmod +x kubectl
然后我們執(zhí)行它(可能會(huì)被MacOS攔截,因?yàn)檫@個(gè)可執(zhí)行文件不是來自受信任的開發(fā)者,這個(gè)問題請(qǐng)點(diǎn)擊幫助按照蘋果給出的文檔解決):
./kubectl --help
執(zhí)行如圖:
這個(gè)文件我們目前還只能在本目錄下執(zhí)行,而我們還需要在任何位置都能執(zhí)行,所以要配置環(huán)境變量。配置如下內(nèi)容(注意修改你自己的安裝目錄):
# Set Kubernetes environment
KUBERNETES_HOME=/Users/xiaohh/Software/kubernetes
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME
再執(zhí)行下面命令使其生效:
source /etc/profile
配置后如圖,可以看到在命令行的任何位置都能使用kubectl了:
拉取配置文件
現(xiàn)在僅僅只是安裝了kubectl,但是還沒有指定kubectl去連接哪個(gè)集群。我們需要在Kubernetes主節(jié)點(diǎn)當(dāng)中去拉取下來配置文件,這個(gè)配置文件當(dāng)中一般還包含著認(rèn)證信息。這個(gè)文件一般存放于主節(jié)點(diǎn)的 /etc/kubernetes/admin.conf
處,我們直接使用這行命令來拉取:
# 來到kubernetes的配置文件目錄
cd ~/Software/kubernetes/config
# 拉取配置文件,為了區(qū)分多個(gè)集群的配置文件,我們給其從新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如圖:
接下來我們還需要配置一個(gè) KUBECONFIG
環(huán)境變量去指定kubectl使用哪個(gè)配置文件,在上一步的基礎(chǔ)上優(yōu)化環(huán)境變量:
# Set Kubernetes environment
KUBERNETES_HOME=/Users/xiaohh/Software/kubernetes
# 指定使用哪個(gè)配置文件的環(huán)境變量,注意后面的地址
KUBECONFIG=$KUBERNETES_HOME/config/192.168.1.160.conf
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME KUBECONFIG
修改后如圖:
使這個(gè)文件生效,執(zhí)行這行命令:
source /etc/profile
然后就可以直接在本地操作遠(yuǎn)程集群了:
kubectl命令自動(dòng)補(bǔ)全
將下面三行添加到 /etc/profile
文件末尾:
autoload -Uz compinit
compinit
source <(kubectl completion zsh)
如圖:
直接執(zhí)行下面命令使其生效:
source /etc/profile
然后我們就可以使用命令補(bǔ)全了。
Linux的安裝配置
安裝kubectl
因?yàn)槲业腖inux虛擬機(jī)是x86_64架構(gòu)的,所以我的下載地址為(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/linux/amd64/kubectl
然后我們創(chuàng)建一個(gè)目錄去安裝kubectl,如圖:
每個(gè)目錄的作用:
- bin: 裝kubectl可執(zhí)行文件的目錄
- config: 配置文件的目錄
接下來我們將kubectl下載到bin目錄下:
然后我們還需要執(zhí)行以下命令來為它賦予執(zhí)行權(quán)限:
chmod +x kubectl
然后我們執(zhí)行它:
./kubectl --help
執(zhí)行如圖:
這個(gè)文件我們目前還只能在本目錄下執(zhí)行,而我們還需要在任何位置都能執(zhí)行,所以要配置環(huán)境變量。配置如下內(nèi)容(注意修改你自己的安裝目錄):
# Set Kubernetes environment
KUBERNETES_HOME=/opt/environment/kubernetes
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME
再執(zhí)行下面命令使其生效:
source /etc/profile
配置后如圖,可以看到在命令行的任何位置都能使用kubectl了:
拉取配置文件
現(xiàn)在僅僅只是安裝了kubectl,但是還沒有指定kubectl去連接哪個(gè)集群。我們需要在Kubernetes主節(jié)點(diǎn)當(dāng)中去拉取下來配置文件,這個(gè)配置文件當(dāng)中一般還包含著認(rèn)證信息。這個(gè)文件一般存放于主節(jié)點(diǎn)的 /etc/kubernetes/admin.conf
處,我們直接使用這行命令來拉?。?/p>
# 來到kubernetes的配置文件目錄
cd /opt/environment/kubernetes/config/
# 拉取配置文件,為了區(qū)分多個(gè)集群的配置文件,我們給其從新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如圖(里面有集群的apiserver地址,還有一些集群的證書和認(rèn)證信息):
接下來我們還需要配置一個(gè) KUBECONFIG
環(huán)境變量去指定kubectl使用哪個(gè)配置文件,在上一步的基礎(chǔ)上優(yōu)化環(huán)境變量:
# Set Kubernetes environment
KUBERNETES_HOME=/opt/environment/kubernetes
# 指定使用哪個(gè)配置文件的環(huán)境變量,注意后面的地址
KUBECONFIG=$KUBERNETES_HOME/config/192.168.1.160.conf
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME KUBECONFIG
修改后如圖:
使這個(gè)文件生效,執(zhí)行這行命令:
source /etc/profile
然后就可以直接在本地操作遠(yuǎn)程集群了:
kubectl命令自動(dòng)補(bǔ)全
首先我們需要安裝bash-completion,使用以下命令安裝:
# ubuntu
apt-get install bash-completion
# centos
yum install -y bash-completion
然后執(zhí)行bash-completion的主腳本:
source /usr/share/bash-completion/bash_completion
生成kubectl補(bǔ)全腳本,并執(zhí)行它:文章來源:http://www.zghlxwxcb.cn/news/detail-767082.html
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
sudo chmod a+r /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl
然后我們就可以使用kubectl的命令自動(dòng)補(bǔ)全了:文章來源地址http://www.zghlxwxcb.cn/news/detail-767082.html
到了這里,關(guān)于使用kubectl連接遠(yuǎn)程Kubernetes(k8s)集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!