過去因為自行建立 Kubernetes Cluster (或協助客戶建立 Azure Kubernetes Services),操作皆透過 Kubectl 命令進行操作,缺點是免不了 繁複的步驟且容易發生指令錯誤,在故障排除時相當不方便。今天本篇文章將介紹透過 Visual Studio Code Kubernetes 延伸模組,以透過視覺化的方式進行操作 Kubernetes。
前置工作 - 安裝 Kubernetes 模組
在開始連線至 Cluster 並進行操作之前,必須先安裝 Visual Studio Code 與 Kubernetes Extension (延伸模組)
Kubernetes Extension 安裝完成後,點選左邊模組。開啟時會提示未安裝 kubectl、Helm 與 minikube (kubectl 為必要,Helm 與 minikube 為選用)
Kubeconfig 說明與匯出
在開始使用 IDE 連線至 Kubernetes Cluster 之前,你必須有 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)。我們以 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 內容
連線至 Kubernetes Cluster
- 點選左邊 Kubernetes 延伸模組,點選在 Cluster 旁 … 按鈕,選擇 Set Kubeconfig。
- 上方命令選擇區選擇 + Add new kubeconfig
- 選擇我們先前匯出的 Kubeconfig
- 您可以看見 Cluster 資訊,您可以展開它,開始檢視相關資訊
- 您可以右鍵點選 namespace 選擇 get,即會開啟終端機並產生指令,列出 namespace。以此類推,您可以透過此工具進行更多操作