Kubernetes 和已啟用 Azure Arc 的 Kubernetes 概觀
在本單元中,您將了解 Kubernetes,以及已啟用 Azure Arc 的 Kubernetes 的架構和優點。
Kubernetes
Kubernetes 是可延伸的開放原始碼平台,用以協調容器化工作負載。 為確保復原能力,每個 Kubernetes 部署都包含多個叢集伺服器節點。 有些伺服器是管理其他背景工作節點的控制平面節點。
背景工作節點會將容器化工作負載裝載為 Kubernetes Pod。 Pod 大致上相當於容器,但可包含多個在相同節點上執行且緊密結合的容器。
除了以容器為基礎的隔離以外,Kubernetes 也可以將 Pod 與其他資源 (例如部署) 隔離到命名空間中。 邏輯界限內的命名空間,在存取不同容器化工作負載的使用者與外部應用程式之間提供隔離。 命名空間也可讓您限制在叢集中建立、檢視或管理資源的權限。
Kubernetes 優點
Kubernetes 可抽離多容器環境的複雜性;這類環境常結合了數百或數千個容器可能依賴的計算、網路和儲存體元件。 Kubernetes 宣告式管理模型描述所需的目標群組態,並將其實作詳細資料保留在 Kubernetes 控制平面。
Kubernetes 可讓您將資料中心視為整合的計算資源。 您不必擔心部署容器的方式和位置,只需關心在需要時部署和縮放應用程式即可。
Kubernetes 挑戰
Kubernetes 是具有高度自訂能力的協調流程平台,需要適當的設定、管理和維護。
部署、調整、負載平衡、記錄和監視之類的功能全都是選擇性功能。 您可以根據自己的特定需求,找出最佳設定並加以實作。
您需負責維護自己的 Kubernetes 環境。 例如,您必須管理作業系統和 Kubernetes 升級。 您也必須管理叢集節點可用的硬體資源,例如網路、記憶體和儲存體。
Azure Kubernetes Service (AKS) 之類的受控 Kubernetes 供應項目可將這些挑戰降到最低或消除其中一些挑戰。
已啟用 Azure Arc 的 Kubernetes
已啟用 Azure Arc 的 Kubernetes 可讓您連結在任何地方執行的 Kubernetes 叢集,以便在 Azure 中進行管理和設定。
Azure Arc 會使用本機安裝的代理程式,建立與 Azure 間的信任通道。 與 Azure 的連線需要將數個代理程式部署為 Kubernetes 叢集中專用 azure arc 命名空間內的 Pod。 這些代理程式會維護與 Azure 的連線,並與對應的 Azure 資源同步處理叢集狀態和中繼資料。
已啟用 Azure Arc 的 Kubernetes 會與任何雲端原生運算基礎 (由 CNCF) 認證的 Kubernetes 叢集搭配運作。 這包含在其他公用雲端服務提供者 (例如 GCP 或 AWS) 上執行的叢集,以及在內部部署資料中心 (例如 VMware vSphere 或 Azure Stack HCI) 上執行的叢集。
已啟用 Azure Arc 的 Kubernetes 優點
除了上一個單元中所述的一般 Azure Arc 優點之外,已啟用 Azure Arc 的 Kubernetes 還提供下列功能:
- 單一控制平面,可跨多雲端/混合式環境管理所有 Kubernetes 資源。
- 已啟用 Arc 的 Kubernetes 叢集作為裝載 Azure 服務的平臺。
- 已增強使用 GitOps 部署應用程式的支援。 GitOps 可讓您自動部署可描述 Kubernetes 叢集所需狀態的組態。 您可以使用 Azure 原則來強制執行特定的 GitOps 型組態。
- 使用適用於 Kubernetes 的 Azure 原則和集中式原則合規性報告,強制執行會影響叢集及其 Pod 的執行階段原則。 例如,針對將已啟用 Azure Arc 的 Kubernetes 叢集作為目標的輸入流量,您可以強制使用 HTTPS,或確保容器只會在特定連接埠上接聽。
- 使用 Azure 監視器容器深入解析來監視容器。
在本課程模組的其餘單元中,您將深入了解這些功能。