kubectl是一個用於連接Service Mesh控制平面的工具,可以安裝在辦公電腦的Windows系統上,也可以安裝在虛擬機的Linux系統上,只要網絡能與控制平面的公網地址互通即可。下面分別介紹在Windows系統和Linux系統的安裝方法。
1. Windows上安裝kubectl
1.1. 使用curl下載kubectl客戶端工具
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/windows/amd64/kubectl.exe
這里下載的版本是v1.19.0,要查看當前的穩定版本,可以在瀏覽器中打開如下網址:
https://storage.googleapis.com/kubernetes-release/release/stable.txt
獲取到最新穩定版本后,可以將上述curl下載命令中的v1.19.0替換為當前的穩定版本。
1.2. 將kubectl工具放到系統path環境變量中已經有的目錄下
下載之后的kubectl.exe是一個可執行文件,將其放置到系統path環境變量已經有的目錄下,即可在cmd中使用kubectl命令。
首先在cmd中使用path命令查看系統的path環境變量
然后將kubectl.exe文件復制到上圖中任何一個目錄,比如C:\Windows。
當然也可以將kubectl.exe放到一個你想要放置的目錄,然后將該目錄加入到path環境變量中。
最后在cmd上使用命令kubectl version --client確認是否安裝成功。
1.3. 配置kubectl客戶端
客戶端安裝完成后需要進行配置,才能連接上服務器。默認情況下kubectl客戶端首先會到當前用戶的HOME目錄下的.kube目錄查找config文件讀取其中的配置。
在cmd上使用命令cd %USERPROFILE%切換到當前用戶的HOME目錄。
使用命令mkdir .kube創建.kube目錄(注意kube前面有一個點(.))。
將開發人員給的配置文件重命名為config,然后復制到剛剛創建的.kube目錄下。
(要連接到Service Mesh控制平面,需要研發提供一個配置文件,配置文件中有控制平面的IP地址及認證秘鑰等信息)
最后使用kubectl version命令確認是否可以連接上服務器
如果第二行的Sever Version顯示正常,則說明連接服務器正常,否則連接失敗,需要確認是否網絡是否正常,或者配置文件配置是否有問題。
2. Linux上安裝kubectl
2.1. 使用curl下載kubectl客戶端工具
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
該curl命令已經指定下載最新穩定版本,如果想要下載特定版本,可以將$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)替換為版本號。
將下載后的kubectl可執行文件添加可執行權限
chmod +x ./kubectl
將kubectl工具放到系統path環境變量中已經有的目錄下
使用命令sudo mv ./kubectl /usr/local/bin/kubectl將kubectl文件移到/usr/local/bin/目錄下。
然后使用命令kubectl version --client確認是否安裝成功。
客戶端版本號顯示正常說明安裝成功。
2.2. 配置kubectl客戶端
切換到當前用戶的的HOME目錄
cd ~
創建 .kube 目錄:
mkdir .kube
(該目錄被創建后使用ls命令不能顯示,因為以點開頭的目錄是隱藏的,使用ls -a命令可以顯示隱藏目錄)
將配置文件重命名為config,然后放置到剛剛創建的.kube 目錄
最后測試配置是否成功。
kubectl version
這里只介紹了windows和Linux的安裝方法,macOS方法與Linux類似,具體可參考官方文檔:
https://kubernetes.io/docs/tasks/tools/install-kubectl/
3. kubectl使用配置文件連接測試環境
3.1. 命令中不指定配置文件
使用kubectl命令如果沒有指定配置文件,則默認情況下,kubectl 在 $HOME/.kube 目錄下查找名為 config 的文件。HOME是當前用戶的home目錄,在Linux中,如果用戶名為centos則當前用戶的HOME目錄為: /home/centos,使用命令 cd ~可進入該目錄。在Windows中,cmd中輸入cd %homepath%可進入當前用戶的HOME目錄。
一個config文件的示例如下:
1.1. 使用curl下載kubectl客戶端工具
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/windows/amd64/kubectl.exe
這里下載的版本是v1.19.0,要查看當前的穩定版本,可以在瀏覽器中打開如下網址:
https://storage.googleapis.com/kubernetes-release/release/stable.txt
獲取到最新穩定版本后,可以將上述curl下載命令中的v1.19.0替換為當前的穩定版本。
1.2. 將kubectl工具放到系統path環境變量中已經有的目錄下
下載之后的kubectl.exe是一個可執行文件,將其放置到系統path環境變量已經有的目錄下,即可在cmd中使用kubectl命令。
首先在cmd中使用path命令查看系統的path環境變量

然后將kubectl.exe文件復制到上圖中任何一個目錄,比如C:\Windows。
當然也可以將kubectl.exe放到一個你想要放置的目錄,然后將該目錄加入到path環境變量中。
最后在cmd上使用命令kubectl version --client確認是否安裝成功。

1.3. 配置kubectl客戶端
客戶端安裝完成后需要進行配置,才能連接上服務器。默認情況下kubectl客戶端首先會到當前用戶的HOME目錄下的.kube目錄查找config文件讀取其中的配置。
在cmd上使用命令cd %USERPROFILE%切換到當前用戶的HOME目錄。
使用命令mkdir .kube創建.kube目錄(注意kube前面有一個點(.))。
將開發人員給的配置文件重命名為config,然后復制到剛剛創建的.kube目錄下。
(要連接到Service Mesh控制平面,需要研發提供一個配置文件,配置文件中有控制平面的IP地址及認證秘鑰等信息)
最后使用kubectl version命令確認是否可以連接上服務器

如果第二行的Sever Version顯示正常,則說明連接服務器正常,否則連接失敗,需要確認是否網絡是否正常,或者配置文件配置是否有問題。
2. Linux上安裝kubectl
2.1. 使用curl下載kubectl客戶端工具
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
該curl命令已經指定下載最新穩定版本,如果想要下載特定版本,可以將$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)替換為版本號。

將下載后的kubectl可執行文件添加可執行權限
chmod +x ./kubectl

將kubectl工具放到系統path環境變量中已經有的目錄下
使用命令sudo mv ./kubectl /usr/local/bin/kubectl將kubectl文件移到/usr/local/bin/目錄下。
然后使用命令kubectl version --client確認是否安裝成功。

客戶端版本號顯示正常說明安裝成功。
2.2. 配置kubectl客戶端
切換到當前用戶的的HOME目錄
cd ~
創建 .kube 目錄:
mkdir .kube
(該目錄被創建后使用ls命令不能顯示,因為以點開頭的目錄是隱藏的,使用ls -a命令可以顯示隱藏目錄)
將配置文件重命名為config,然后放置到剛剛創建的.kube 目錄
最后測試配置是否成功。
kubectl version

這里只介紹了windows和Linux的安裝方法,macOS方法與Linux類似,具體可參考官方文檔:
https://kubernetes.io/docs/tasks/tools/install-kubectl/
3. kubectl使用配置文件連接測試環境
3.1. 命令中不指定配置文件
使用kubectl命令如果沒有指定配置文件,則默認情況下,kubectl 在 $HOME/.kube 目錄下查找名為 config 的文件。HOME是當前用戶的home目錄,在Linux中,如果用戶名為centos則當前用戶的HOME目錄為: /home/centos,使用命令 cd ~可進入該目錄。在Windows中,cmd中輸入cd %homepath%可進入當前用戶的HOME目錄。
一個config文件的示例如下:
apiVersion: v1
clusters:
- cluster:
server: https://XXX:XXX
certificate-authority-data: XXXX
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: "kubernetes-admin"
name: kubernetes-admin-XXX
current-context: kubernetes-admin-XX
kind: Config
preferences: {}
users:
- name: "kubernetes-admin"
user:
client-certificate-data: XXXXX==
client-key-data: XXXXXXX=
kubectl不指定配置文件使用的示例:
3.2. 命令中指定配置文件
實際使用的時候,更常見的是將配置文件放置在特定的目錄中,然后在kubectl命令中指定某個配置文件,即可連接配置文件中的測試環境。
指定配置文件的使用示例:
如果配置文件在當前目錄下則可以省略命令中的目錄路徑:
kubectl get pods -n namespace
實際使用的時候,更常見的是將配置文件放置在特定的目錄中,然后在kubectl命令中指定某個配置文件,即可連接配置文件中的測試環境。
指定配置文件的使用示例:
kubectl --kubeconfig=/home/centos/vc_1.config get pods -n namespace
kubectl --kubeconfig=vc_1.config get pods -n namespace