教學課程:執行 Azure Kubernetes Service (AKS) 中的應用程式

Kubernetes 會提供容器化應用程式的分散式平台。 您將自己的應用程式和服務建置並部署至 Kubernetes 叢集,並讓叢集管理可用性和連線能力。 在本教學課程中,您會將範例應用程式部署至 Kubernetes 叢集的第四部分。 您會了解如何:

  • 更新 Kubernetes 資訊清單檔案。
  • 在 Kubernetes 中執行應用程式。
  • 測試應用程式

在稍後的教學課程中,您將相應放大和更新您的應用程式。

本快速入門假設您對 Kubernetes 概念有基本的瞭解。 如需詳細資訊,請參閱 Azure Kubernetes Services (AKS) 的 Kubernetes 核心概念

提示

AKS 叢集可以使用 GitOps 進行設定管理。 GitOp 可讓您自動將叢集的狀態宣告推送至原始檔控制。 若要瞭解如何使用 GitOps 搭配 AKS 叢集部署應用程式,請參閱GitOps with Flux v2教學課程中Azure Kubernetes Service叢集的必要條件

開始之前

在先前的教學課程中,您已將應用程式封裝到容器映射、將映射上傳至Azure Container Registry,並建立 Kubernetes 叢集。

若要完成本教學課程中的內容,您需要預先建立的 azure-vote-all-in-one-redis.yaml Kubernetes 資訊清單檔。 本檔下載隨附于上一個教學課程中的應用程式原始程式碼。 確認您已複製存放庫,且您已將目錄變更為複製的存放庫。 如果您尚未完成這些步驟,而且想要跟著做,請從 教學課程 1:準備 AKS 的應用程式開始。

在本教學課程中,您必須執行 Azure CLI 2.0.53 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI

更新資訊清單檔

在這些教學課程中,Azure Container Registry (ACR) 執行個體會儲存範例應用程式的容器映像。 若要部署應用程式,您必須更新 Kubernetes 資訊清單檔中的映像名稱,以納入 ACR 登入伺服器名稱。

使用 az acr list 命令取得 ACR 登入伺服器名稱。

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

您在第一個教學課程中複製的 git 存放庫範例資訊清單檔會使用來自 Microsoft Container Registry 的映射 (mcr.microsoft.com) 。 請確定您位於複製的 azure-voting-app-redis 目錄中,然後使用文字編輯器開啟資訊清單檔案,例如 vi

vi azure-vote-all-in-one-redis.yaml

mcr.microsoft.com 取代為您的 ACR 登入伺服器名稱。 您可以在資訊清單檔案的第 60 行中找到映射名稱。 下列範例顯示預設映像名稱:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

提供您自己的 ACR 登入伺服器名稱,讓您的資訊清單檔案看起來類似下列範例:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

儲存並關閉檔案。 在 vi 中使用 :wq

部署應用程式

若要部署應用程式,請使用 kubectl apply 命令,並指定範例資訊清單檔。 此命令會剖析資訊清單檔,並建立已定義的 Kubernetes 物件。

kubectl apply -f azure-vote-all-in-one-redis.yaml

下列範例輸出顯示在 AKS 叢集中成功建立的資源:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

測試應用程式

執行應用程式時,Kubernetes 服務會向網際網路公開前端應用程式。 此程序需要數分鐘的時間完成。

若要監視進度,請使用 kubectl get service 命令搭配 --watch 引數。

kubectl get service azure-vote-front --watch

一開始,azure-vote-front服務的EXTERNAL-IP會顯示為擱置中。

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

EXTERNAL-IP 位址從 pending 變成實際的公用 IP 位址時,請使用 CTRL-C 停止 kubectl 監看式流程。 下列範例輸出會顯示已指派給服務的有效公用 IP 位址:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

若要查看應用程式的實際運作情況,請開啟網頁瀏覽器並瀏覽至服務的外部 IP 位址。

螢幕擷取畫面顯示在本機網頁瀏覽器開啟 AKS 叢集中執行的 Azure Voting 應用程式

如果應用程式未載入,可能是映射登錄的授權問題。 若要檢視容器的狀態,請使用 kubectl get pods 命令。 如果您無法提取容器映射,請參閱從Azure Kubernetes Service使用Azure Container Registry進行驗證

下一步

在本教學課程中,您已將範例 Azure 投票應用程式部署至 AKS 中的 Kubernetes 叢集。 您已了解如何︰

  • 更新 Kubernetes 資訊清單檔案。
  • 在 Kubernetes 中執行應用程式。
  • 測試應用程式

在下一個教學課程中,您將瞭解如何調整 Kubernetes 應用程式和基礎 Kubernetes 基礎結構。