Leo Yeh's Blog

Azure 容器部署 (1)

教學目標

初步了解 Azure 容器部署服務與應用的基本概念。

重點概念

首先目前使用容器來開發和部署軟體已經變得十分流行,容器能夠讓我們輕鬆的封裝應用程式和相關服務,並且部署至任何運算環境中,同時當應用程式有更高的需求時,我們就能夠透過部署額外的容器執行個體輕鬆擴充服務,以及容器的資源密集程度也低於虛擬機器,以利我們更有效率的使用運算資源,更進一步節省費用。然而標準容器管理執行階段著重於管理個別容器,但是當我們需要調整,並且讓多個容器協同作業時,則調整多個容器會變得具有挑戰性,因為在管理多個容器時需要考慮負載平衡、安全性、網路連線能力和部署,此時為了協助簡化此流程,通常會使用容器管理平台 Kubernetes。

接著容器主要能夠讓我們將解決方案分割為個別服務,其主要有三個優點,分別為:

  1. 容器不可變性:容器不變本質能夠以相同的行為在不同的開發、測試和正式環境中可靠地部署和執行。
  2. 容器非常輕量:容器不需要作業,僅需要應用程式,其主要會依賴主機已安裝作業系統執行核心服務。
  3. 容器啟動快速:容器能夠在幾秒內完成啟動。

然而容器有不同的生命週期,其主要會依要求進行部署、啟動、停止和終結,此時開發人員和資訊人員皆應該考慮管理大型容器部署的方式,此時 Kubernetes 就能夠用於容器自動化工作負載的部署、調整和管理。

再來 Kubernetes 主要會抽象化複雜的容器管理,並且提供宣告式設定,以利在不同的運算環境中協調容器,協調流程平台能夠為我們提供易用性和彈性,如同平台即服務和基礎結構即服務一樣,並且不會限制可以執行的應用程式類型,但是開發人員必須了解微服務架構的相關概念,以利充分利用容器解決方案,此外 Kubernetes 部署預設為叢集至少由一部主要伺服器和三部工作伺服器所組成用於正式環境,當然伺服器可以是容體礎體或虛擬機器。

最後透過 Azure Kubernetes Service (AKS) 就能夠管理 Kubernetes 環境,以利在 Azure 中輕鬆地部署及管理容器化應用程式,同時啟用了自動化更新、自我修復和輕鬆調整等功能,基本上 Kubernetes 叢集主機是免費的,我們能夠管理叢集中的代理程式節點,也就是工作伺服器,此時也僅需針對節點執行所在虛擬機器進行付費。此外我們能夠在 Azure 入口網站中建立叢集或使用 Azure CLI 來建立,當我們建立叢集時,可以使用 Resource Manager 範本來自動化叢集建立作業,使用這些範本我們將能夠設定進階網路、網域整合、監控資源、… 等資訊。

相關資源

⬅️ Go back