前言
前一篇文章我們介紹 使用 Visual Studio Code 連接至 Kubernetes Cluster,這一篇文章要介紹另一個也是相當好用 Kubernetes 操作工具: Lens。雖然 Visual Studio Code Kubernetes Extension 已經相當不錯,但這一套個人覺得操作更容易且直覺。 Lens 提供免費版本(個人或教育使用)與付費版本,您可以依據需求選擇訂閱。
前置工作 - 取得 Kubeconfig
Kubeconfig 內包含 Cluster、User、Namespace 與身分認證相關資訊。kubectl 命令即是使用 Kubeconfig 與 Cluster 內 API 伺服器進行通訊。 Kubeconfig。Kubeconfig 檔案格式如下:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <ca-data-here>
server: https://your-k8s-cluster.com
name: <cluster-name>
contexts:
- context:
cluster: <cluster-name>
user: <cluster-name-user>
name: <cluster-name>
current-context: <cluster-name>
kind: Config
preferences: {}
users:
- name: <cluster-name-user>
user:
token: <secret-token-here>
預設 Kubeconfig 會儲存在 $HOME/.kube 目錄下名稱為 config 的文件內 (您可以透過環境變數或使用 –kubeconfig 參數來指定其他 kubeconfig)。
您也可以連線到雲端的 Kubernetes Cluster,以 Azure Kubernetes Services 為例,您可以透過 az aks get-credentials --resource-group <資源群組名稱> --name <Kubernetes 服務名稱>
指令取得 credentials,此時畫面上會顯示 kubeconfig 位置 (如下圖 Step 1)。開啟 Cloud Shell,點選上方檢視檔案,找到.kube\config,此檔案即為 kubeconfig (如下圖 Step 2 與 3)。
注意:您可能需要進行檢視與編輯,只留下需要使用 Kubernetes Cluster 的資訊
另一種方式,Azure Kubernetes Services 可以透過下列指令匯出 kubeconfig 檔案。我們可以下載此檔案,作為後續 VS Code 連線 Kubenetes Cluster 時使用。
az aks get-credentials --resource-group <資源群組名稱> --name <Kubernetes 服務名稱> --file kubeconfig
注意:Token 會逾期,您需要 kubeconfig 定期更新 Token 內容
安裝並使用 Lens
步驟 1. 前往 Lens 官方網站 依據您的作業系統下載合適的安裝檔案。
步驟 2. 本篇文章使用 Windows 作業系統,依據安裝精靈指示進行安裝即可
步驟 3. 第一次安裝完成,需要選擇訂閱 (別擔心,Lens 有提供個人免費版本)。使用 Google 或 GitHub 帳號後,依據需求選擇您要的訂閱即可。
步驟 4. 完成登入與選擇訂閱後,返回 Lens,可以看見美美的歡迎畫面。
步驟 5. 點選左上角設定圖示,選擇 Clusters。滑鼠移置右下角 + 按鈕,選擇 Add from Kubeconfig (您也可以選擇加入檔案或資料夾)
步驟 6. 貼上 Kubeconfig 內容,點選左下方 Add Cluster 按鈕
步驟 7. 返回到 Cluster 清單,可以看見已經剛剛新增的 Kubernetes Cluster。點選他進行連線…
步驟 8. 連線成功後,即可美美的開始檢視 Kubernetes Cluster 狀態。理所當然,您也可以透過終端機 (Terminal) 直接使用 kubectl 指令唷。