1. 目標
本實驗室的學習內容如下:
- 探索 Cloud Code 外掛程式
- 部署至 Kubernetes 叢集
- 串流 Kubernetes 記錄
- 利用變更的熱重載功能
- 偵錯 Kubernetes 應用程式
2. 準備工作區
複製應用程式
如要複製存放區並在開發環境中開啟,請按照下列步驟操作:
- 前往下列網址開啟 Cloud Shell 編輯器
https://ide.cloud.google.com
- 在終端機視窗中,使用下列指令複製應用程式來源:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- 切換至該目錄,並將 IDE 工作區設為存放區根目錄
cd sample-app && cloudshell workspace .
啟動 Minikube
在本節中,您將使用名為 Minikube 的 Kubernetes 本機版本,建構、測試、部署及存取應用程式。
- 在終端機中執行下列指令,啟動 minikube:
minikube start
Minikube 會在 Cloud Shell 中設定本機 Kubernetes 叢集,這項設定需要幾分鐘才能完成。啟動期間,請花點時間在下一個步驟中查看 Cloud Code 提供的各種介面。
3. 探索 Cloud Code 外掛程式
Cloud Code 提供 Kubernetes 和 Cloud Run 應用程式完整開發週期的 IDE 支援,從使用現有範本建立應用程式,到監控已部署應用程式的資源,都能輕鬆完成。您將使用 Cloud Code 提供的不同指令和檢視畫面。在這個步驟中,您將熟悉基本介面。
從活動列查看探索工具檢視畫面
您可以從活動列存取多個使用者介面面板。如要快速瞭解各種檢視畫面,請按一下各個檢視畫面的圖示
API Explorer:
- 按一下活動列中的「Cloud Code - Cloud APIs」圖示「Cloud Code」。如要進一步瞭解如何使用這個檢視畫面,請參閱說明文件。

Secret Manager 探索器:
- 按一下活動列中的 Secret Manager 檢視畫面 。如要進一步瞭解如何使用這個檢視畫面,請參閱說明文件。

Cloud Run 探索器:
- 使用左側活動列中的 Cloud Run 圖示,前往 Cloud Run Explorer 。如要進一步瞭解如何使用這個檢視畫面,請參閱說明文件。

Kubernetes 探索器:
- 使用左側活動列中的圖示 ,前往 Kubernetes Explorer。如要進一步瞭解如何使用這個檢視畫面,請參閱說明文件。

查看狀態列指令
透過狀態列中的指標,即可快速存取常用指令。
- 在狀態列中找出 Cloud Code 擴充功能指標
,然後按一下。 - 查看可在 Cloud Run 和 Kubernetes 上執行及偵錯的各種指令
- 按一下「開啟歡迎頁面」,查看更多詳細資料和範例活動
查看指令區塊面板的指令
您可透過指令面板使用其他指令。查看可存取的指令清單。
- 開啟「Command Palette」(按下 Ctrl/Cmd+Shift+P 鍵),然後輸入「Cloud Code」來篩選可用指令。
- 使用方向鍵在指令清單中循環瀏覽。
4. 部署至 Kubernetes 叢集
在本節中,您將建構、測試、部署及存取應用程式。
下列步驟會啟動原始碼的建構作業,然後執行測試。建構和測試程序需要幾分鐘才能完成。這些測試包括單元測試,以及檢查部署環境所設規則的驗證步驟。這個驗證步驟已設定完成,可確保您在開發環境中作業時,也能收到部署問題的警告。
- 在 Cloud Shell 編輯器底部的窗格中,選取 Cloud Code 
。 - 在頂端顯示的面板中,選取「在 Kubernetes 中執行」。如果系統顯示提示,請選取「Yes」使用 minikube Kubernetes 環境。
- 選取下方窗格中的「輸出」分頁標籤
,即可查看進度和通知 - 在右側的管道下拉式選單中選取「Kubernetes: Run/Debug - Detailed」
,即可查看其他詳細資料和容器的即時記錄檔串流
建構和測試完成後,「輸出」分頁會顯示 Resource deployment/sample-app-dev status completed successfully,並列出兩個網址。
- 在 Cloud Code 終端機中,將游標懸停在輸出內容中的第一個網址 (http://localhost:8080) 上,然後在顯示的工具提示中選取「開啟網頁預覽」。
瀏覽器會開啟應用程式的本機版本。這個版本的應用程式會在 minikube 的 Kubernetes 叢集執行。
- 在瀏覽器中重新整理頁面。「Counter」旁的數字會增加,表示應用程式正在回應重新整理要求。
在瀏覽器中開啟這個頁面,以便在本地環境中進行變更時查看應用程式。
5. 運用變更的熱重載功能
在本節中,您要變更應用程式,並在應用程式於本機 Kubernetes 叢集中執行時查看變更。在「Kubernetes: Run/Debug」管道的輸出分頁中,除了應用程式網址外,輸出內容也會顯示「Watching for changes.」,表示已啟用監看模式。Cloud Code 處於監控模式時,會偵測存放區中儲存的任何變更,並自動重建及重新部署應用程式,套用最新變更。
- 在 Cloud Shell 編輯器中,前往 main.go 檔案。
- 在這個 main.go 檔案的第 23 行,將顏色從綠色變更為藍色。
- 儲存檔案。
Cloud Code 會偵測到應用程式的變更已儲存,並自動重新部署變更。「輸出」分頁會顯示「已啟動更新」。這項作業會在幾分鐘內完成。
這項自動重建功能類似於熱重載程式碼,後者適用於某些應用程式類型和架構。
- 建構完成後,請前往開啟應用程式的瀏覽器,然後重新整理頁面。
重新整理後,表格頂端的顏色會從藍色變成綠色。
無論使用哪種架構或元件,您都能透過這項設定自動重新載入。使用 Cloud Code 和 minikube 時,Kubernetes 中執行的任何項目都會具備這項熱重載程式碼功能。
6. 偵錯 Kubernetes 即時應用程式
您已執行應用程式、進行變更,並查看執行中的應用程式。在本節中,您將對應用程式進行偵錯,確保應用程式已準備好提交回主要存放區。
在本偵錯範例中,我們將著重於網頁計數器的程式碼部分。
- 在 Cloud Shell 編輯器中開啟 main.go 檔案
- 在應用程式中設定中斷點,方法是點選第 82 行左側的數字 (if err != nil {)
- 在 Cloud Shell 編輯器底部的藍色窗格中,選取 Cloud Code
。 - 在頂端顯示的面板中,選取「在 Kubernetes 上偵錯」。
Cloud Code 會執行並附加偵錯工具,讓您存取應用程式的記憶體內狀態,而不只是應用程式面向使用者的行為。
- 部署程序完成後,視窗頂端會顯示提示,要求確認應用程式部署所在的容器目錄。

確認值已設為 /go/src/app,然後按下 Enter 鍵接受該值
- 等待偵錯工具完成部署。狀態列變成橘色,且輸出內容顯示「
"Attached debugger to container "sample-app-dev-..." successfully」,即表示轉換完成。 - 在 Cloud Code 終端機中,將游標懸停在輸出內容中的第一個網址 (http://localhost:8081) 上,然後在顯示的工具提示中選取「Open Web Preview」(開啟網頁預覽)。網頁不會完成載入,這是預期行為。
- 切換回 IDE,偵錯工具現在應該會顯示在其中。程式碼會顯示在分頁中,您會看到呼叫堆疊,以及程式碼該部分可用的變數。展開「Variables - Local」,即可查看目前的計數器變數值。
- 如要允許頁面繼續載入,請在偵錯視窗中選取「繼續」圖示
。 - 完成偵錯後,請按一下停止按鈕,終止每個執行中的執行緒。
