在 AKS 部署應用程式

Azure 計算解決方案

Florin Angelescu

Azure Cloud Architect

部署應用程式

拒絕直接部署

接受宣告式部署

  • 你不會直接部署容器。
  • 你只需描述應用程式的期望狀態。
  • 其餘交給 Kubernetes。
Azure 計算解決方案

部署應用程式

 

部署

 

  • 透過 manifest 定義:

    • 執行幾個實例
    • 使用哪個映像
    • 行為應如何設定
  • Kubernetes 會讓實際狀態與定義保持一致。

Azure 計算解決方案

從映像到 pods

 

部署

 

 

  • 部署到 AKS 的應用會打包為容器映像。
  • 通常儲存在 Azure Container Registry。
Azure 計算解決方案

從映像到 pods

部署

Deployment

  • AKS 會擷取指定的映像。
  • 並將 pods 排程到叢集中的可用節點。
Azure 計算解決方案

從映像到 pods

 

部署

 

  • Pod = 應用程式的一個執行實例。

  • 定義多個副本時:

    • Kubernetes 會建立多個 pods
    • 可能分散在不同節點
    • 提升可用性與韌性
Azure 計算解決方案

Deployments 與副本

 

部署

 

  • Kubernetes deployment 會隨時間管理 pods。
  • 確保正確數量的副本在執行。
  • pod 故障時自動替換。
Azure 計算解決方案

Deployments 與副本

 

部署

 

  • 當 pod 當機或某節點不可用。
  • Kubernetes 會偵測問題。
  • 並在叢集其他位置重建該 pod。
Azure 計算解決方案

曝光應用程式

對外服務

  • Pods 屬於叢集內部,且可能隨時間變動。
  • 若要讓應用可達,Kubernetes 會使用 services。
  • Service 提供穩定端點,將流量導向健康的 pods。
Azure 計算解決方案

曝光應用程式

內部服務

  • 內部 services:
    • 僅供叢集內通訊
Azure 計算解決方案

曝光應用程式

外部服務

  • 負載平衡 services(外部):
    • 將應用對外曝光
    • 使用 Azure 基礎架構
Azure 計算解決方案

驗證應用程式狀態

 

狀態檢視

 

  • Kubernetes 提供以下的狀態資訊:

    • Deployments
    • Pods
    • Services
  • 有助於確認:

    • 工作負載是否健康
    • 是否仍在啟動中
Azure 計算解決方案

重點回顧

Kubernetes

在 AKS 部署應用重在宣告意圖,而非手動管理容器。

你定義該執行什麼,Kubernetes 處理如何執行——排程 pods、重啟失敗、並導流量。

Azure 計算解決方案

一起來練習吧!

Azure 計算解決方案

Preparing Video For Download...