部署應用程式
本文說明如何在 Kubernetes 叢集上部署容器化應用程式。
必要條件
若要開始使用,請設定您的 單一計算機 Kubernetes 或 完整的 Kubernetes 叢集。
部署範例 Linux 應用程式
步驟 1:更新指令清單檔案
本文使用由前端和後端組成的簡單投票應用程式範例應用程式,其以 Microsoft 的 azure-vote-front 映射為基礎。 此應用程式的容器映像裝載於 Azure Container Registry (ACR) 上。 如需部署指令清單,請參閱 GitHub 存放庫套件中的 linux-sample.yaml 。 在 YAML 中,我們將標記 nodeSelector
指定為 Linux。
步驟 2:部署應用程式
若要部署應用程式,請使用 kubectl apply 命令。 此命令會剖析資訊清單檔,並建立已定義的 Kubernetes 物件。 指定 YAML 指令清單檔,如下列範例所示:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
步驟 3:驗證 Pod
等候幾分鐘,Pod 處於 執行 中狀態:
kubectl get pods -o wide
步驟 4:驗證服務
若要監視進度,請使用 kubectl get services 命令搭配 --watch
參數:
kubectl get services
一開始, EXTERNAL-IP
服務的 azure-vote-front
會顯示為 pending
。
EXTERNAL-IP
當位址從 pending
變更為實際的公用IP位址時,您可以使用指派給服務的IP位址。
重要
在單一計算機叢集上,如果您部署 Kubernetes 叢集而不指定 -ServiceIPRangeSize
,則不會為工作負載服務配置 IP,而且沒有外部 IP 位址。 在此情況下,請尋找 Linux VM 的 IP 位址 (Get-AksEdgeNodeAddr
) :
Get-AksEdgeNodeAddr -NodeType Linux
您現在可以將外部埠附加至 VM 的 IP 位址 (,例如 192.168.1.12:30432) 。
步驟 5:測試您的應用程式
若要查看應用程式的實際運作情況,請開啟網頁瀏覽器並瀏覽至服務的外部 IP 位址:
如果應用程式未載入,可能是因為映像登錄的授權問題所致。 若要檢視容器的狀態,請使用 kubectl get pods
命令。 如果無法擷取容器映像,請參閱從 Azure Kubernetes Service 使用 Azure Container Registry 進行驗證。
步驟 6:移除應用程式
若要清除,請使用下列命令刪除所有資源:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
將範例 Windows 應用程式部署至叢集
此範例會根據 Microsoft 的範例影像執行範例 ASP.NET 應用程式。 請參閱 win-sample.yaml。 YAML 會將 nodeSelector
標記指定為 Windows。
步驟 1:指定 YAML 指令清單的名稱來部署應用程式
請確定您位於 PowerShell 視窗中 YAML 的目錄中,然後執行下列命令:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
步驟 2:確認範例 Pod 正在執行
視您的因特網連線而定,Pod 可能需要一些時間才能連線到執行狀態。 ASP.NET 映射很大:
kubectl get pods -o wide
步驟 3:確認範例服務正在執行
kubectl get services
由於此範例會部署為 NodePort 類型的服務,因此您可以擷取應用程式執行所在 Kubernetes 節點的 IP 位址,然後附加 NodePort 的埠。 使用下列 Get-AksEdgeNodeAddr
命令取得 Kubernetes 節點的 IP:
Get-AksEdgeNodeAddr -NodeType Windows
步驟 4:確認您執行中的 Windows 範例
開啟網頁瀏覽器,並找出 NodePort 以存取您的服務:
步驟 5:清除
若要清除,請使用下列命令刪除所有資源:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
部署您自己的應用程式
先前的步驟示範如何部署我們的範例應用程式。 若要部署您自己的應用程式,請執行下列動作:
將您的應用程式封裝到容器映像,然後將映像上傳至您選擇的容器登錄 Azure Container Registry 或容器登錄中。 請檢閱下列步驟, 以建立應用程式的容器映像。
AKS Edge Essentials 可啟用混合OS叢集。 請確定您的 Pod 已排程在具有對應 OS 的節點上。 將 新增
nodeSelector
至您的部署檔案。 此選項會指示 Kubernetes 在特定作業系統的節點上執行 Pod (OS) 。 如果您的叢集是單一 OS,您可以略過此步驟;但為了最佳做法,請使用節點選取器標記每個部署檔案:nodeSelector: "kubernetes.io/os": linux
nodeSelector: "kubernetes.io/os": windows