教學課程:執行 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 位址。
如果應用程式未載入,可能是映射登錄的授權問題。 若要檢視容器的狀態,請使用 kubectl get pods
命令。 如果您無法提取容器映射,請參閱從Azure Kubernetes Service使用Azure Container Registry進行驗證。
下一步
在本教學課程中,您已將範例 Azure 投票應用程式部署至 AKS 中的 Kubernetes 叢集。 您已了解如何︰
- 更新 Kubernetes 資訊清單檔案。
- 在 Kubernetes 中執行應用程式。
- 測試應用程式
在下一個教學課程中,您將瞭解如何調整 Kubernetes 應用程式和基礎 Kubernetes 基礎結構。