本文說明如何使用已啟用 Azure Arc 的 Kubernetes 叢集延伸模組,透過 Helm Chart 來管理 Kubernetes 應用程式。 已啟用 Azure Arc 的 Kubernetes 中的叢集擴充功能具有定義、安裝及升級最複雜 Kubernetes 應用程式所需的所有建置組塊。
叢集擴充功能建置在 Helm 封裝元件上。 透過擴充功能,您可使用 Azure Resource Manager 驅動的體驗,在 Kubernetes 叢集之上進行不同功能的安裝及生命週期管理。
叢集操作員或系統管理員可以使用叢集延伸模組功能來:
- 在您的 Kubernetes 叢集上安裝和管理金鑰管理、資料和應用程式供應項目。
- 使用 Azure 原則,在環境中所有叢集上自動大規模部署叢集延伸模組。
- 訂閱每個擴充套件的發行列車(例如
Preview或Stable)。 - 設定延伸模組的自動升級,或者您可以釘選特定版本並手動升級版本。
- 更新延伸模組屬性或刪除延伸模組實例。
擴充功能可用於支援各種 Azure 服務和案例。 如需目前支援的延伸模組清單,請參閱 已啟用 Azure Arc 的 Kubernetes 叢集的可用延伸模組。
架構
若要以高解析度下載架構圖表,請流覽 Jumpstart Gems。
叢集延伸模組執行個體會在 Azure Resource Manager 中已啟用 Azure Arc 的 Kubernetes 資源上 (以 Microsoft.KubernetesConfiguration/extensions 表示),建立為延伸 Azure Resource Manager 資源 (Microsoft.Kubernetes/connectedClusters)。
Azure Resource Manager 中的這個表示法可讓您撰寫原則,以檢查所有已啟用 Azure Arc 的 Kubernetes 資源中是否有特定叢集延伸模組是否存在。 在您判斷哪些叢集缺少具有特定屬性值的叢集延伸模塊之後,您可以使用 Azure 原則來補救不符合規範的資源。
在 config-agent 叢集上執行的元件會追蹤已啟用 Azure Arc 的 Kubernetes 資源上新增和更新的擴充功能資源。 在 extensions-manager 叢集中執行的代理程式會讀取需要安裝的擴充類型。 然後,它會從 Azure Container Registry 或Microsoft Container Registry 提取相關聯的 Helm 圖表,並將其安裝在叢集上。
在 config-agent 叢集中執行的和 extensions-manager 元件都會處理擴充實例更新、版本更新,以及刪除擴充實例。 這些代理程式會使用叢集的系統指派受控識別,與 Azure 服務進行安全通訊。
注意
config-agent 會檢查已啟用 Azure Arc 的 Kubernetes 叢集上是否有新的或更新的延伸模組執行個體。 代理程式需要連線能力,才能將延伸模組的所需狀態提取到叢集。 如果代理程式無法連線到 Azure,則會延遲將所需狀態傳播至叢集。
延伸模組執行個體的受保護組態設定會在已啟用 Azure Arc 的 Kubernetes 服務中儲存最多 48 小時。 因此,如果叢集在 Azure 中建立擴充功能資源後 48 小時內保持中斷連線,擴充功能就會從 Pending 狀態變更為 Failed 狀態。 若要避免這種情況,建議您定期讓叢集上線。
重要
目前,已啟用 Azure Arc 的 Kubernetes 叢集延伸模組不支援 ARM64 型叢集,但 Flux (GitOps) 和 Microsoft Defender for Containers 除外。 若要安裝及使用其他叢集擴充功能,叢集必須至少有一個作業系統為 linux/amd64 的節點。
延伸模組範圍
每個延伸模組類型都會定義它們在叢集上運作的範圍。 已啟用 Arc 的 Kubernetes 叢集上的延伸模組安裝是叢集範圍的或命名空間範圍的。
當您建立擴充實例時,您可以指定安裝命名空間為 release-namespace。 通常情況下,只有一個叢集範圍擴展及其元件(包括 Pods、運算器和自定義資源定義 CRDs)會安裝在叢集中的發行命名空間。
您可以使用–namespace屬性在特定命名空間中安裝命名空間範疇的擴充功能。 因為擴充功能可以在命名空間範圍中部署,命名空間範圍延伸模組的多個實例及其元件可以在叢集上執行。 延伸模組的每個實例都有其部署所在命名空間的許可權。 本文所述的所有擴充功能都是叢集範圍,唯獨 Kubernetes 的事件方格擴充功能例外。
目前 所有可用的擴充 功能都是叢集範圍,但 Azure Arc 上的 Azure API 管理除外。
相關內容
- 使用我們的快速入門以將 Kubernetes 叢集連線至 Azure Arc。
- 在已啟用 Azure Arc 的 Kubernetes 叢集上部署叢集延伸模組。