在 Cloud Code for VS Code 中使用 minikube 進行本機開發

Cloud Code 會自動安裝及管理 minikube。如果選擇不管理依附元件,請將 minikube 二進位檔新增至 PATH

事前準備

  1. 安裝 Git,讓 Cloud Code 執行複製範例等 Git 作業。
  2. 如果尚未安裝 Cloud Code 外掛程式,請先安裝。

從範本建立應用程式

Cloud Code 隨附一系列程式碼範例範本,可協助您快速上手。如要使用現有範例建立 Kubernetes 應用程式,請按照下列步驟操作:

  1. 啟動指令面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(瀏覽) >「Command Palette」(指令面板)),然後執行「Cloud Code: New Application」
  2. 選取「Kubernetes application」(Kubernetes 應用程式) 做為範例類型。
  3. 依據您要使用的語言選取一個範本,選項有 NodeJS、Go、Python 和 Java。
  4. 從本機選擇偏好的應用程式位置,然後按一下「Create new application」(建立新的應用程式)儲存。

    Cloud Code 會複製您選擇的範例,並開啟新的專案供您使用。

應用程式結構範例

所有語言範例應用程式的結構都近乎相同。這不僅是支援的結構,也是建議使用的入門結構。

舉例來說,Node.js 留言簿應用程式結構如下:

.
|---- .vscode
|      ---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     ---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     ---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           ---- package.json
---- skaffold.yaml

進一步瞭解這個 Kubernetes Guestbook Node.js 範例應用程式,以下是一些重要檔案及其用途:

  • .vscode
    • extensions.json:開啟此專案時,提示要求下載相關擴充功能
    • launch.json:啟動設定 (類型為 cloudcode.kubernetes),用於執行或偵錯 Kubernetes 應用程式
    • tasks.jsonVisual Studio Code 工作的設定資訊
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml:後端節點的 Pod 規格
    • guestbook-frontend.deployment.yaml:前端節點的 Pod 規格
    • mongo.deployment.yaml:資料庫的 Pod 規格
  • src
    • (backend|frontend)/app.js:含網路伺服器邏輯的 Node.js 程式碼
    • (backend|frontend)/Dockerfile:用於建構程式的容器映像檔
  • skaffold.yamlSkaffold 的設定檔,Cloud Code 會使用這個檔案建構、部署及偵錯 Kubernetes 應用程式

使用自己的應用程式

如需使用現有專案的步驟,請參閱使用現有 Kubernetes 應用程式的 Cloud Code

設定 Kubernetes 環境

執行應用程式前,請確保您已完成設定,可將應用程式部署至偏好的 Kubernetes 環境。您可以在設定中指定這項資訊。

設定

使用「Cloud Code: Develop on Kubernetes」(Cloud Code:在 Kubernetes 上開發) 執行設定時,您可以透過調整可用設定的方式自訂部署作業。

如要新增或編輯設定,請依序前往「Run」 >「Open Configurations」,然後編輯或新增設定。

建立並部署至 minikube 叢集

啟動 minikube 叢集

Cloud Code 會自動安裝及管理 minikube。如果選擇不管理依附元件,請將 minikube 二進位檔新增至 PATH

  1. 啟動指令面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(瀏覽) >「Command Palette」(指令面板)),然後執行「Cloud Code: Control minikube」指令。
  2. 按一下「Choose a Minikube cluster (profile) to control」(選擇要控管的 Minikube 叢集 (設定檔)) 下方的「minikube」,然後按一下「Start」(開始)

在 minikube 上執行

  1. 啟動「Command Palette」(指令面板),然後執行「Cloud Code: Run on Kubernetes」(Cloud Code:在 Kubernetes 上執行)
  2. 按一下「Use current context (minikube) to run the app?」(使用目前的環境 (minikube) 執行應用程式?) 的「Yes」(是)
  3. Cloud Code 會在 minikube 叢集中執行應用程式。如果系統提示,請授權 Cloud Shell 使用您的憑證發出Google Cloud API 呼叫。

    Cloud Code 的「Development sessions」(開發工作階段) 專區中,查看部署詳細資料。

  4. 按一下「Development sessions」(開發工作階段) 專區中的「Portforward URLs」(連接埠轉送網址),即可查看網址,然後按一下網址連結,在瀏覽器中開啟正在執行的應用程式。

開啟容器的互動式終端機

  1. 按一下 「Cloud Code」,然後展開「開發工作階段」探索工具。
  2. 依序展開「已部署的資源」和「Pod」
  3. 在容器上按一下滑鼠右鍵,然後點選「Get Terminal」

暫停或停止 Minikube 叢集

  1. 啟動指令區塊面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(瀏覽) >「Command Palette」(指令面板)),然後執行「Cloud Code: Control minikube」指令。
  2. 「Choose a Minikube cluster (profile) to control」(選擇要控管的 Minikube 叢集 (設定檔)) 選項填入後,請按一下「minikube」,然後按一下「Stop」(停止) 或「Pause」(暫停)

建立及新增其他雲端服務供應商的叢集

如果您使用的是地端部署叢集,或是來自其他供應商 (例如 Azure 或 AWS) 的叢集,請使用供應商的工具建立叢集,並將叢集新增至 KubeConfig。

使用其他本機叢集

除了 minikube 之外,如果您使用 Docker Desktop (適用於 MacWindows),也可以搭配 Cloud Code 使用。

如要讓 Cloud Code 搭配本機叢集運作,請確認預設設定 (例如 ~/.kube/config) 包含本機叢集。這個叢集必須設為目前的環境。

舉例來說,如果您使用 Docker Desktop 的本機叢集 docker-for-desktop,請執行下列指令來設定偏好的叢集:

kubectl config use-context docker-for-desktop

後續步驟

取得支援

如要提供意見回饋,請前往 GitHub 回報問題,或在 Stack Overflow 上提問。