建立及部署容器化網頁應用程式

瞭解如何使用 Cloud Shell 編輯器建立容器化網頁應用程式、在本機進行測試,然後部署至 Google Kubernetes Engine (GKE) 叢集。


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」

逐步引導


事前準備

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

建立網頁應用程式

使用 Cloud Shell 編輯器做為建立應用程式的環境,這個編輯器已預先載入 Cloud 開發作業所需的多種工具。

如要建立應用程式,請按照下列步驟操作:

  1. 啟動 Cloud Shell 編輯器

  2. 如果系統提示您授權 Cloud Code 使用憑證發出 Google Cloud API 呼叫,請按一下「Authorize」(授權)

  3. 從狀態列啟動「Cloud Code」選單。

  4. 選取「New Application」

  5. 選取「Kubernetes application」(Kubernetes 應用程式) 做為範例應用程式類型。

  6. 在 Kubernetes 範例應用程式清單中,選取「Go:Hello World」

  7. 選取要用來存放應用程式的資料夾,然後按一下「Create New Application」(建立新的應用程式)

Cloud Shell 編輯器會在新的工作區中載入應用程式。重新載入後,您就能透過「Explorer」檢視畫面存取應用程式。

在本機叢集中測試應用程式

您已建立應用程式,現在可在 Cloud Shell 中透過本機 Kubernetes 叢集執行該應用程式:

  1. 依序點選「Terminal」(終端機) >「New Terminal」(新增終端機) 來開啟 Cloud Shell 終端機。
  2. 透過終端機命令提示字元執行下列指令,啟動本機 minikube 叢集:

    minikube start
    

    minikube 叢集設定作業可能需要一點時間才能完成。

  3. 如果系統提示您授權 Cloud Shell 發出 Cloud API 呼叫,請按一下「Authorize」(授權)

    叢集設定完成後,會顯示如下的訊息:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

本機叢集設定完成後,請建構並執行這個應用程式:

  1. 從狀態列啟動「Cloud Code」選單。
  2. 選取「Run on Kubernetes」(在 Kubernetes 中執行)
  3. 系統顯示提示時,請確認您要使用目前的 minikube 環境。

    這項程序需要幾分鐘才能完成,您可以在「Development sessions」(開發工作階段) 檢視畫面中查看部署狀態。

    按一下「Development sessions」(開發工作階段) 檢視畫面中的不同節點,系統就會顯示與所選部署階段相關的記錄檔摘錄內容。

  4. 應用程式建構及部署完成後,請透過以下步驟找到服務的通訊埠轉送節點:在「Development sessions」(開發工作階段) 檢視畫面中,展開「Port Forward URLs」(通訊埠轉送網址) >「service」(服務) >「go-hello-world-external」

  5. 如要啟動應用程式,請將滑鼠游標懸停在「go-hello-world-external」上,然後按一下 「Open URL」(開啟網址)

編輯應用程式

如要瞭解 Hello World 應用程式的元件,請參閱應用程式 readme.md 檔案中的圖表。整體來說,這個應用程式包含:

  • 基本的 go-hello-world 網頁應用程式 main.go,這個應用程式在收到任何要求時都會傳回「It's running!」(運作中!) 範本回應。
  • 負載平衡器 go-hello-world-external 服務 hello.service.yaml,這項服務會藉由描述 Kubernetes Service 來公開應用程式。

如何修改應用程式:

  1. 修改 main.go 檔案,讓顯示的訊息變更為「It's redeployed!」(已重新部署!)。系統會自動儲存檔案。
  2. 應用程式的建構和部署作業需要一點時間才能完成,在此期間,您可以透過「Development sessions」(開發工作階段) 檢視畫面監控進度。

  3. 應用程式建構及部署完成後,請透過以下步驟找到服務的通訊埠轉送節點:依序前往「Development sessions」(開發工作階段) >「Port Forward URLs」(通訊埠轉送網址) >「service」(服務) >「go-hello-world-external」

  4. 如要啟動應用程式,請將滑鼠游標懸停在「go-hello-world-external」上,然後按一下 「Open URL」(開啟網址)。

查看應用程式記錄檔

如要分析執行中的應用程式,您可以透過記錄檢視器查看記錄檔:

  1. 如要啟動記錄檢視器,請開啟指令區塊面板,方法是按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(檢視) >「Command Palette」(指令區塊面板),然後執行「Cloud Code: View Logs」(Cloud Code:查看記錄檔)

    您可在這個檢視畫面中篩選及瀏覽應用程式的記錄檔。

  2. 指定「Deployment」(部署) 篩選條件,即可查看 go-hello-world 應用程式的記錄檔。

  3. 切換到顯示「It's redeployed!」(已重新部署!) 的應用程式分頁。在瀏覽器中重新載入頁面,然後切換回「Cloud Shell」分頁。

  4. 如要透過記錄檢視器查看新產生的記錄檔,請按一下 「Refresh」(重新整理)

建立 Google Kubernetes Engine 叢集

如要建立新的 Google Kubernetes Engine 叢集,以便部署應用程式,請按照下列步驟操作:

  1. 按一下 Cloud Code 圖示「Cloud Code」,然後展開「Kubernetes」部分。

  2. 按一下 「Add a Cluster to the KubeConfig」(將叢集新增至 KubeConfig),然後點選「Quick pick」選單中的「Google Kubernetes Engine」

  3. 如果系統提示您啟用 container.googleapis.com,請按一下「是」

  4. 按一下「+ 建立新的 GKE 叢集」

  5. 選擇「標準」做為叢集類型。

  6. 按一下「Open」,允許 Cloud Shell 開啟Google Cloud 主控台。

  7. 在 Google Cloud 控制台中使用您建立的專案,將區域設為 us-central1-a,並將叢集名稱設為 my-first-cluster

  8. 按一下「建立」,叢集建立作業需要幾分鐘的時間。

  9. 建立叢集後,請在「快速選取」選單中按一下 重新整理 Kubernetes 叢集檢視畫面「重新整理」

  10. 新叢集名稱出現在清單中後,請按一下叢集名稱。系統會將新叢集新增至設定,並將其設為有效的內容。

將應用程式部署至 GKE 叢集

如要將應用程式部署至新的叢集,請按照下列步驟操作:

  1. 從狀態列開啟「Cloud Code」選單,然後選取「Run on Kubernetes」(在 Kubernetes 上執行)

  2. 確認已將新建立的叢集設為應用程式的環境。

  3. 確認映像檔存放區的預設選項。

  4. 應用程式的建構和部署作業需要一點時間才能完成,在此期間,您可以透過「Development sessions」(開發工作階段) 檢視畫面監控進度。

  5. 應用程式建構及部署完成後,請透過以下步驟找到服務的通訊埠轉送節點:在「Development sessions」(開發工作階段) 檢視畫面中,展開「Port Forward URLs」(通訊埠轉送網址) >「service」(服務) >「go-hello-world-external」

  6. 如要啟動應用程式,請將滑鼠游標懸停在「go-hello-world-external」上,然後按一下 「Open URL」(開啟網址)。

正在清除所用資源

如要只刪除您為本快速入門建立的叢集:

  1. 將滑鼠游標懸停在叢集名稱上,然後按一下 在 Google Cloud 控制台中開啟的圖示「Open in Google Cloud console」
  2. 按一下「Delete」(刪除),然後點選「Delete」(刪除)

如要刪除專案 (以及相關聯的資源,包括任何叢集),請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Projects」(專案) 頁面:

    前往「Projects」(專案) 頁面

  2. 選取您為本快速入門導覽課程建立的專案,然後按一下「Delete」

  3. 輸入專案 ID 以確認,然後按一下「Shut down」

    接著,系統就會關閉專案並排定刪除時間。

後續步驟