目標
瞭解如何透過線上示範 IDE「Cloud Shell 編輯器」執行下列開發工作:
建立 Kubernetes 範例應用程式。
在開發環境中執行、更新及查看應用程式記錄。
將應用程式部署至 GKE 叢集。
如果您安裝 Cloud Code,也可以在自己的 IDE 中採用類似的程序。
如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導):
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
如要根據預測用量估算費用,請使用 Pricing Calculator。
完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。
事前準備
建立 Kubernetes 叢集。 請參閱「建立叢集及部署工作負載」一文。
選擇 Google Cloud 專案和叢集
在本教學課程中,稍後將應用程式部署至 GKE 時,您必須指定 Google Cloud 專案和 GKE 叢集。
前往 GKE「Clusters」(叢集) 頁面。
選擇含有 GKE 叢集的專案。
記下專案和叢集的名稱。
您稍後會需要這項資訊。
在 Cloud Shell 編輯器中建立應用程式
在 Google Cloud 控制台中,按一下工作列中的「Cloud Shell」
,開啟 Cloud Shell。按一下
「Open editor」(開啟編輯器) 。等待 Cloud Shell 編輯器初始化。
在 Cloud Shell 編輯器中,依序按一下「View」(檢視) >「Command Palette」(指令區塊面板)。
搜尋並點選「Cloud Code: New Application」(Cloud Code:新增應用程式)。
選取「Kubernetes Application」(Kubernetes 應用程式),然後選取「Go: Hello World」。
每種語言架構的體驗會略有不同,本教學課程將說明 Go 可用的功能。
在「Save」(儲存) 對話方塊中,按一下「Create New Application」(建立新的應用程式)。
Cloud Shell 編輯器會在「Explorer」檢視畫面中,重新載入並顯示應用程式來源檔案。
這個應用程式是由下列元件組成:
基本的
go-hello-world
網頁應用程式 ,這個應用程式在收到任何要求時都會傳回「It's running!」(運作中!) 範本回應。main.go
Kubernetes Deployment 規格
。hello.deployment.yaml
Kubernetes Service 規格
,定義了應用程式的負載平衡器。hello.service.yaml
Skaffold 檔案
,用於處理建構及部署應用程式的工作流程。skaffold.yaml
在開發環境中執行應用程式。
請盡可能先在開發環境中執行應用程式,然後再部署至 GKE。這有助於找出任何潛在問題,而不使用 Google Cloud 配額。
如要在 Cloud Shell 編輯器環境中執行應用程式,請按照下列步驟操作:
在 Cloud Shell 編輯器中,依序點按「Terminal」(終端機) >「New Terminal」(新增終端機)。
執行下列指令來啟動叢集:
minikube start
minikube 是簡易的 Kubernetes 實作,可在本機環境中建立 VM,並部署僅含一個節點的簡單叢集。
minikube 叢集設定作業可能需要一點時間才能完成。
如果系統提示您授權 Cloud Shell 發出 Cloud API 呼叫,請按一下「Authorize」(授權)。
minikube 叢集設定完成後,會顯示如下的訊息:
Done! kubectl is now configured to use "minikube" cluster...
minikube 設定完成後,請建構並執行應用程式:
在 Cloud Shell 編輯器狀態列中,點按
「Cloud Code」 。選取「Run on Kubernetes」(在 Kubernetes 中執行)。
系統顯示提示時,請確認您要使用目前的 minikube 環境。
Cloud Shell 編輯器會建構應用程式,並部署至 minikube 叢集。
在
「Development sessions」(開發工作階段) 檢視畫面中查看部署狀態。部署作業完成後,「Port Forward URLs」(通訊埠轉送網址) 旁邊會顯示綠色勾號。「Stream Application Logs」(串流應用程式記錄) 旁會顯示一個旋轉圖示。
如要查看您的應用程式,請仔細檢查「Development sessions」(開發工作階段) 窗格,然後尋找「Port Forward URLs」(通訊埠轉送網址) >「service」(服務)。
將滑鼠游標懸停在
「go-hello-world-external」 上,然後點按 「Open URL」(開啟網址)。
編輯應用程式
變更應用程式中的來源檔案時,Cloud Shell 編輯器會自動建構應用程式並部署至目前連結的叢集。在這個案例中,您連線至 minikube 叢集。
如何編輯應用程式並重新部署至本機 minikube 叢集:
修改
檔案,讓顯示的訊息變更為「It's redeployed!」(已重新部署!)。系統會自動儲存檔案。main.go
在重新建構和部署應用程式時,觀看
「Development sessions」(開發工作階段) 檢視畫面。和先前一樣查看您重新部署的應用程式,方法如下所示:
在「Development sessions」(開發工作階段) 窗格,找到「Port Forward URLs」(通訊埠轉送網址) >「service」(服務)。
將滑鼠游標懸停在
「go-hello-world-external」 上,然後點按 「Open URL」(開啟網址)。
查看應用程式記錄檔
在 Cloud Shell 編輯器選單列中,依序選取「View」(檢視) >「Command Palette」(指令區塊面板)。
搜尋並點選「Cloud Code: View Logs」(Cloud Code:查看記錄檔)。
記錄檢視器隨即會開啟。
在
「Deployment」(部署項目) ,選取「go-hello-world
」。這項操作會篩選記錄檢視器,只顯示
go-hello-world
應用程式的記錄檔。切換到顯示「It's redeployed!」(已重新部署!) 的應用程式分頁。在瀏覽器中重新載入頁面,然後切換回「Cloud Shell」分頁。
如要透過記錄檢視器查看新產生的記錄檔,請點按
「Refresh」(重新整理) 。
將應用程式部署至 GKE 叢集
將 GKE 叢集新增至可用來部署的叢集清單:
在
「Kubernetes」 檢視畫面中,按一下 「Add a Cluster to the KubeConfig」(將叢集新增至 KubeConfig)。在「Choose a Platform」(選擇平台) 對話方塊中,點按「Google Kubernetes Engine」。
如果系統提示您啟用 Google Cloud API,請按一下「Yes」(是)。
等待 Cloud Shell 編輯器找到您Google Cloud 專案中的叢集。
在「Create or choose a GKE cluster」(建立或選擇 GKE 叢集) 對話方塊中,選取您建立的叢集名稱「hello-world-cluster」。
在 Cloud Shell 編輯器狀態列中,點按
「Cloud Code」 ,然後選取「Run on Kubernetes」(在 Kubernetes 上執行)。系統提示您選取部署要求的結構定義時,請選擇已用來設定 GKE 叢集的「Use current context」(使用目前的結構定義)。
在「Choose image repository」(選擇映像檔存放區) 對話方塊中,選取 gcr.io/PROJECT_NAME。
Cloud Shell 編輯器會將應用程式建構成容器,並儲存在您選取的存放區中。
在重新建構和部署應用程式時,觀看
「Development sessions」(開發工作階段) 檢視畫面。如要查看應用程式部署至 GKE 時的詳細記錄訊息,請點按「Development sessions」(開發工作階段) 檢視畫面中的「Deploy to Cluster」(部署至叢集) 節點。
如何查看執行中的應用程式,請按照以下步驟操作:
點按「Development sessions」(開發工作階段) 標題,即可關閉檢視畫面。
開啟
「Kubernetes」 檢視畫面。展開 GKE 叢集。
依序前往「Namespaces」(命名空間) >「default」(預設) >「Services」(服務) >「go-hello-world-external」>「External IPs」(外部 IP)。
將滑鼠游標懸停在 IP 位址上,然後按一下
「Open URL」(開啟網址)。
您已成功透過 IDE 建立及部署 GKE 應用程式。
後續步驟
查看程式碼範例,瞭解如何使用Google Cloud 產品
在 IDE 中安裝 Cloud Code
清除所用資源,以免產生帳單費用。 如果您打算參加其他教學課程,請先完成這些教學課程,再清除所用資源。大部分 GKE 教學課程都可以使用 Kubernetes 範例叢集。