共用方式為


部署應用程式

本文說明如何在 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

顯示執行中Linux Pod的螢幕快照。

步驟 4:驗證服務

若要監視進度,請使用 kubectl get services 命令搭配 --watch 參數:

kubectl get services

顯示執行中Linux服務的螢幕快照。

一開始, EXTERNAL-IP 服務的 azure-vote-front 會顯示為 pendingEXTERNAL-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 位址:

顯示執行中 Linux 應用程式的螢幕快照。

如果應用程式未載入,可能是因為映像登錄的授權問題所致。 若要檢視容器的狀態,請使用 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

顯示執行中 Windows Pod 的螢幕快照。

步驟 3:確認範例服務正在執行

kubectl get services

顯示執行中 Windows 服務的螢幕快照。

由於此範例會部署為 NodePort 類型的服務,因此您可以擷取應用程式執行所在 Kubernetes 節點的 IP 位址,然後附加 NodePort 的埠。 使用下列 Get-AksEdgeNodeAddr命令取得 Kubernetes 節點的 IP:

Get-AksEdgeNodeAddr -NodeType Windows

顯示 Windows 叢集資訊的 Screesnhot。

步驟 4:確認您執行中的 Windows 範例

開啟網頁瀏覽器,並找出 NodePort 以存取您的服務:

顯示 Windows 應用程式正在執行的螢幕快照。

步驟 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
    

下一步