Azure Kubernetes Service 支援政策

本文說明 Azure Kubernetes Service (AKS) 的技術支援政策與限制。 同時也詳細說明代理節點管理、管理控制平面元件、非 Microsoft 開源元件,以及安全或修補程式管理。

服務更新和版本

AKS 中的受控功能

AKS 是基礎架構即服務(IaaS)與平台即服務(PaaS)的結合。 基礎的 IaaS 雲端元件,如運算或網路元件,提供低階控制與自訂選項。 相較之下,AKS 提供周全的 Kubernetes 部署,為您的叢集提供所需的一組通用設定和功能。 作為 AKS 使用者,你的自訂和部署選項有限,且無法直接管理 Kubernetes 叢集。

有了 AKS,您即可獲得完全受控的「控制平面」。 控制平面包括您操作和為終端使用者提供 Kube 叢集需要的全部元件和服務。 Microsoft 負責維護與操作所有 Kubernetes 元件。

Microsoft 透過控制平面管理和監控以下元件:

  • Kubernetes API 伺服器與 kubelet。
  • etcd 或相容的鍵值儲存,提供服務品質(QoS)、可擴展性及執行時功能。
  • 像 CoreDNS 這類的 DNS 服務。
  • kube-proxy 和叢集網路,除非使用 BYOCNI。
  • 在 kube 系統命名空間中執行的其他任何附加元件或系統元件。

有些元件,例如代理節點,會 共同負責,你必須協助維護 AKS 叢集。 例如,需要使用者輸入,才能套用代理程式節點作業系統 (OS) 安全性修補檔。

這些服務屬於管理,意即Microsoft與 AKS 團隊負責部署、運作,並負責服務可用性與功能。 客戶無法變更這些受控元件。 Microsoft 限制自訂化,以確保使用者體驗一致且可擴展。

共同責任

當你建立叢集時,你會定義 AKS 建立的 Kubernetes 代理節點。 你的工作負載都在這些節點上運行。 請留意以下代理節點的限制條件:

  • Microsoft 支援服務 的存取權限有限。 由於您的代理節點執行私有程式碼並儲存敏感資料,Microsoft 支援服務 無法在未經您明確許可或協助的情況下登入、執行指令或查看這些節點的日誌。
  • 使用 Kubernetes 原生機制來進行變更。 任何透過 IaaS API 直接對代理節點進行的修改,都會使叢集無法支援。 使用 Kubernetes 原生機制(例如 DaemonSet)來套用變更。
  • 不要更改系統建立的元資料。 你可以新增像是標籤和標籤等元資料,但更改任何系統產生的元資料會讓叢集不被支援。

責任劃分

以下矩陣總結了 AKS 叢集中的支援責任,並對比 AKS 與你在本地運行的自我管理 Kubernetes 。 在 AKS 中,Microsoft 管理控制平面與核心平台。 你管理節點設定、工作負載、網路設定和資料。 共享區域是 Microsoft 提供並維護某項功能,而你可以啟用、設定或排程它的地方。 先用矩陣作為一目了然的指引,然後查看後面詳細的支援細節章節。

使用以下鍵碼讀取矩陣:

Symbol Meaning
🔵 客戶 你擁有並管理這個區域。
🟣 共享 Microsoft 提供並維護此功能;你可以啟用、設定或排程。
🟢Microsoft Microsoft 擁有並管理這個領域。
⚠️ 無支援 沒有支援或只能盡力而為。 詳情請參見 不支援情境。
不適用 此功能不適用於自管理的本地 Kubernetes。
責任區域 本地 Kubernetes AKS (Azure)
物理與基礎設施
實體資料中心與網路 🔵 客戶 🟢Microsoft
實體主機(伺服器與虛擬機) 🔵 客戶 🟢Microsoft
控制平面
Kubernetes 控制平面(API 伺服器、 etcd排程器、控制器) 🔵 客戶 🟢Microsoft
控制平面高可用性與SLA 🔵 客戶 🟢Microsoft
etcd 備份(自動,每30分鐘一次) 🔵 客戶 🟢Microsoft
Kubernetes 版本升級(控制平面) 🔵 客戶 🟣 共享
節點與作業系統
工作節點配置與擴展 🔵 客戶 🟣 共享
Node OS 映像與修補 🔵 客戶 🟣 共享
節點自動修復 不適用 🟢Microsoft
節點池配置(虛擬機大小、數量、標籤、污染) 🔵 客戶 🔵 客戶
管理式附加元件與元件
AKS 受控附加元件(CoreDNS、Metrics Server、Azure 原則、CSI 驅動程式) 🔵 客戶 🟣 共享
容器執行時 (containerd) 🔵 客戶 🟢Microsoft
kubelet 與 kube-proxy 🔵 客戶 🟢Microsoft
網路
由 Microsoft 管理的 CNI(Azure CNI、Cilium、kubenet) 🔵 客戶 🟣 共享
自備 CNI 外掛(BYOCNI) 🔵 客戶 🔵 客戶 ⚠️ 不受支援
VNet、子網路、NSG、UDR 🔵 客戶 🔵 客戶
由 Microsoft 管理的入口控制器與負載平衡器 🔵 客戶 🟣 共享
非 Microsoft 入口控制器 (nginx, kong, traefik) 🔵 客戶 🔵 客戶 ⚠️ 不受支援
網路原則(Pod 與 Pod 之間的流量) 🔵 客戶 🔵 客戶
Security
Kubernetes RBAC 與叢集角色 🔵 客戶 🔵 客戶
Microsoft Entra ID 整合 🔵 客戶 🟣 共享
祕密管理 🔵 客戶 🔵 客戶
Pod 安全(安全情境,Pod 安全標準) 🔵 客戶 🔵 客戶
影像安全與漏洞掃描 🔵 客戶 🟣 共用
受管理容器映像檔的安全修補 不適用 🟢Microsoft
工作負載
應用程式部署(Pods、Deployments、StatefulSets) 🔵 客戶 🔵 客戶
應用程式程式碼與容器映像檔 🔵 客戶 🔵 客戶
持久儲存(磁碟、檔案共享) 🔵 客戶 🟣 共用
非 Microsoft 或開源工具(Istio、Helm 圖表) 🔵 客戶 🔵 客戶 ⚠️ 不受支援
DaemonSet 節點自訂物件 🔵 客戶 🔵 客戶 ⚠️ 不受支援
數據與合規性
客戶資料 🔵 客戶 🔵 客戶
身份與存取管理 🔵 客戶 🔵 客戶
法規遵循與治理 🔵 客戶 🔵 客戶
可觀察性
平台監控(控制平面記錄與指標) 🔵 客戶 🟣 共享
工作負載監控與警示 🔵 客戶 🔵 客戶
災害復原
叢集備份與災難復原 🔵 客戶 🔵 客戶

以下矩陣中的共享區域,表格顯示 Microsoft 提供的內容以及你應負責的事項:

共同責任 Microsoft 提供 客戶提供
Kube 版本升級 支援版本與淘汰時間軸 觸發並排程升級
節點作業系統修補 更新的節點映像檔 選擇自動升級頻道,或手動套用
工作節點擴展 叢集自動擴縮器與 Karpenter 設定政策、最小/最大值與優先順序
管理式附加元件 發行與修補附加元件版本 啟用、停用及設定
CNI 外掛程式 維護 Azure CNI 和 Cilium 選擇插件、CIDR 範圍和調音
Microsoft Entra ID 整合 提供整合功能 設定群組、角色與條件存取
永續性記憶體 CSI 驅動程式與 Azure 磁碟與檔案 設定儲存類別、PVC 與備份
平台監控 會發出控制平面日誌與指標 啟用診斷設定並建立警示
影像漏洞掃描 掃描與修補管理容器映像檔 更新 VHD;自行管理您的應用程式映像檔

Note

本文說明在 Azure 上運行的 AKS 叢集的責任分配。 AKS 也透過 AKS Hybrid 和 Edge 在你自己的基礎設施上運行,但因為你擁有實體硬體,且某些選項可以自行管理叢集,所以部署方式會有所不同。 關於這些責任,請參見 AKS 混合與邊緣支援政策。

AKS 支援涵蓋範圍

以下章節說明 AKS 技術支援的支援與不支援情境。

支援的案例

Microsoft 為以下範例提供技術支援:

Area Microsoft 支援什麼
控制平面連通性 連接 AKS 提供並支援的所有 Kubernetes 元件,例如 API 伺服器。
控制層操作 管理、運作時間、服務品質,以及 Kubernetes 控制平面服務(如控制平面、API 伺服器和 etcdCoreDNS)的運作。
etcd 資料存放區 每 30 分鐘自動且透明地備份所有 etcd 資料,用於災難規劃與叢集狀態恢復。 備份不會直接提供給你或其他人。 不支援隨選復原或還原作為功能。
Azure 雲端提供者整合 Azure 雲端供應商驅動程式中的整合點,例如負載平衡器、持久性磁碟區和網路(Kubernetes 和 Azure CNI),但使用 BYOCNI 時除外。
控制平面自訂 關於自訂控制平面元件的問題,例如 Kubernetes API 伺服器, etcd以及 CoreDNS。
網路 網路存取和功能問題(除了 BYOCNI),例如 DNS 解析、封包遺失和路由。 支援的情境包括:搭配受控或自訂(自備)子網路的 kubenet 和 Azure CNI;連線到其他 Azure 服務和應用程式;Microsoft 管理的輸入控制器和負載平衡器組態;網路效能和延遲;以及 Microsoft 管理的 網路原則。
代理節點元件 代理節點上的 kubelet、kube-proxy、containerd 及網路隧道的自動修復。 欲了解更多資訊,請參閱 Microsoft 對 AKS 代理節點的責任。

Microsoft 或 AKS 採取的任何叢集動作,皆在您同意下,透過內建的 Kubernetes 角色aks-service與角色綁定aks-service-rolebinding執行,該綁定將角色綁定至 aks-support Microsoft 支援服務 服務身份。 此角色讓 AKS 能排除並診斷叢集問題,但無法修改權限、建立角色、角色綁定,或執行其他高權限操作。 只有使用中支援票證才能啟用角色存取,而且擁有 Just-In-Time (JIT) 存取權。

不支援的場景

Microsoft 不提供以下情境的技術支援。

狀況 不支援
如何使用 Kubernetes 一般的 Kubernetes 使用建議,例如如何建立自訂入口控制器或套用非 Microsoft 軟體。
非 Microsoft 開源專案 像 Istio、Helm 或 Envoy 這類不屬於控制平面,且不會隨 AKS 一起部署的專案。
非 Microsoft 閉源軟體 安全掃描工具與網路設備或軟體。
應用程式專屬程式碼 配置或排除應用程式特定程式碼,或非 Microsoft 應用程式或工具在 AKS 叢集內運行的行為,包括與 AKS 平台本身無關的應用程式部署問題。
應用程式憑證 為 AKS 上執行的應用程式頒發、更新或管理憑證。
網路自訂 網路自訂功能超越了 AKS 文件,例如 VPN 或非 Microsoft 防火牆。
自備 CNI 外掛程式 BYOCNI 模式中使用的自訂或非 Microsoft CNI 外掛。
非 Microsoft 網路政策 設定或疑難排解非 Microsoft 管理的網路原則。 支援使用網路政策,但 Microsoft 支援服務 無法調查因自訂網路政策設定所產生的問題。
非 Microsoft 入口控制器 入口控制器如 nginx、kong 或 traefik。
自訂 DaemonSet 指令碼 DaemonSet 用於自訂節點設定的腳本。
待命與主動支援 主動或待命支援以降低營運風險。 Microsoft 僅提供被動支援。
發行未滿 30 天的 CVE 漏洞與 CVE 與廠商修正案不到 30 天。
自訂程式碼範例 針對你的環境或應用程式,客製化的程式碼範例或腳本。
自訂 Azure 原則 邏輯 自訂 Azure 原則 邏輯的詳細疑難排解,包括以 Rego 為基礎的 Policy。

這些情境中有些細節更細膩,說明 Microsoft 仍能協助的部分。 欲了解更多資訊,請參閱 「非支援情境詳情」。

關於未支援情境的詳細資訊

幾個未被支援的情境為 Microsoft 仍能提供協助的細節增添了更多細節:

  • 如何使用 Kubernetes。 Microsoft 支援服務 不會提供如何建立自訂入口控制器、使用應用程式工作負載,或應用非 Microsoft 或開源軟體套件或工具的建議。 Microsoft 支援服務 可以就 AKS 叢集的功能、客製化與調整(例如 Kubernetes 操作問題與程序)提供建議。
  • 非 Microsoft 開源專案。 這些專案並非作為 Kubernetes 控制平面的一部分提供,也不會隨 AKS 叢集部署,可能包含 Istio、Helm、Envoy 或其他。 Microsoft 可以為像 Helm 這樣的專案提供盡力而為的支援。 當工具能整合 Kubernetes Azure 雲端服務或其他 AKS 專屬錯誤時,Microsoft 支援 Microsoft 文件中的範例與應用程式。
  • 網路客製化。 除了 AKS 文件中列出的自訂功能外,Microsoft 支援服務 無法設定用於提供叢集外出流量的裝置或虛擬設備,例如 VPN 或防火牆。 Microsoft 支援服務 可能會在盡力而為的原則下,就 Azure 防火牆 所需的設定提供建議,但不會就其他非 Microsoft 裝置提供相關建議。
  • 非 Microsoft 的入口控制器。 對於像 nginx、 kong、 或 traefik這類控制器,這包括在 AKS 特定操作後產生的功能問題,例如在 Kubernetes 版本升級後,入口控制器停止運作,這可能源自入口控制器版本與新 Kubernetes 版本之間的不相容性。 若想獲得完整支援,可以考慮使用 Microsoft 管理的入口控制器選項。
  • 自訂 DaemonSet 指令碼。 雖然在設定檔參數不足時,建議在DaemonSet代理節點上調整、修改或安裝非 Microsoft 軟體,但由於自訂腳本的特性,Microsoft 支援服務 無法排除因自訂腳本所產生的問題。
  • 待命並積極支援。 Microsoft 支援服務 提供被動支援以解決正在進行的問題。 待命或主動支援以消除營運風險、提升可用性及優化效能不在保障範圍內。 符合資格的客戶可聯繫其帳戶團隊,申請獲得 Azure 事件管理服務的提名,這是一項付費服務,包含活動期間的主動解決方案風險評估與覆蓋。
  • 發行未滿 30 天的 CVE。 只要您執行的是更新版的 VHD,應該不會有廠商修正程式超過 30 天的任何容器映像 CVE。 你有責任更新 VHD,然後篩選 CVE 報告,並向 Microsoft 支援服務 提供一份清單,其中僅列出廠商修補程式發布已超過 30 天的 CVE。 Microsoft 隨後會在內部透過超過 30 天前發行的廠商修正程式來解決元件問題。 Microsoft 僅對 Microsoft 管理的元件提供 CVE 相關支援,例如 AKS 節點映像檔及在叢集建立時或透過受管理外掛部署的受管理容器映像。 欲了解更多資訊,請參閱 Azure Kubernetes Service (AKS) 的漏洞管理。
  • 自訂程式碼範例。 Microsoft 支援服務 可以在支援案例中提供並審查小型程式碼範例,以示範如何使用 Microsoft 產品的功能,但無法提供針對您的環境或應用程式專屬的客製化程式碼範例。
  • 自訂 Azure 原則 邏輯。 Microsoft 支援服務 可以提供關於如何在 AKS 中套用與評估自訂 Azure 原則 定義的一般指引。 對客戶自行撰寫的政策邏輯(包括以 Rego 為基礎的政策)進行詳細疑難排解,例如說明為何特定政策會允許或拒絕特定工作負載,通常不在支援範圍內。

自備 CNI 的支援界限

當你使用自帶 CNI(BYOCNI)--network-plugin none部署叢集時,Microsoft 支援服務 無法協助解決與 CNI 相關的問題。 你負責 CNI 插件的生命週期,應該尋求 CNI 插件供應商的支援。 Microsoft 仍然支援與 CNI 無關的問題。

Microsoft 支援 Microsoft 不支援
節點配置、控制平面及其他非 CNI 問題 大多數東西向 (Pod 對 Pod) 流量問題
Kubernetes API 伺服器、 etcd、 及排程器 kubectl proxy 以及類似的指令
Node OS 與 kubelet CNI 外掛安裝、設定與故障排除
Azure 負載平衡器與管理組件 Pod IP 位址管理(IPAM)

如需詳細資訊,請參閱自備 CNI (BYOCNI)。

代理程式節點的 AKS 支援涵蓋範圍

以下章節說明 Microsoft 與客戶對 AKS 代理節點的責任。

下表一覽,總結代理節點的職責。 接下來的章節將提供詳細資訊。

層面 Microsoft Customer
包含監控與網路代理程式的基礎作業系統映像檔 提供 不適用
節點上的控制平面元件(kubelet、kube-proxycontainerd網路隧道) 自修復劑 不適用
節點自動修復不健康節點 自動 不適用
Node OS 補丁與映像檔(每週) 出版作品 請在90天內申請(手動或自動升級)
Kubernetes 版本貨幣 發布修補程式與版本 讓叢集維持於受支援的版本
節點自訂 不適用 使用 DaemonSet (若會破壞節點,則不支援)
IaaS 層級節點修改 不適用 不支援;使叢集無法支援

微軟對 AKS 代理節點的責任

Microsoft 與您共同管理 Kubernetes 代理節點,其中在以下情況下:

  • 基礎作業系統映像檔新增了必需的監控與網路代理程式等功能。
  • 背景代理程式節點會自動接收 OS 修補檔。
  • 系統會自動修復運行在代理節點上的 Kubernetes 控制平面元件的問題。 這些組成部分包括以下項目:
    • kube-proxy
    • 提供通往 Kubernetes 控制平面通訊路徑的網路隧道
    • kubelet
    • containerd

如果代理程式節點無法運作,AKS 可能會重新啟動個別元件或整個代理程序節點。 這些重啟操作自動化,並針對常見問題提供自動修復。 欲了解更多自動修復機制,請參閱 節點自動修復。

AKS 代理程式節點的客戶責任

Microsoft 每週都會為您的映像節點提供修補程式和新映像檔。 若要讓您的代理程式節點 OS 和執行階段元件保持在最新狀態,您應該定期手動或自動套用這些修補程式和更新。 Microsoft 不支援超過 90 天的節點映像檔。 如需詳細資訊,請參閱

同樣地,AKS 會定期發行新的 Kubernetes 修補程式和次要版本。 這些更新包括 Kubernetes 安全性或功能性的改善。 您必須根據 AKS Kubernetes 支援版本原則,負責將叢集的 Kubernetes 版本更新。

代理程式節點的使用者自訂

Note

AKS agent nodes 會以標準 Azure IaaS 資源形式出現在 Azure portal 中。 然而,這些虛擬機器會部署到自訂的Azure資源群組(前綴為 MC_)。 您無法變更基底 OS 映射,或使用 IaaS API 或資源對這些節點進行任何直接自定義。 任何非從 AKS API 執行的自訂變更,都不會在升級、擴展、更新或重啟後持續存在。 此外,任何對節點的擴展(例如 CustomScriptExtension)的變更都可能導致意外行為,應予以禁止。 除非 Microsoft 支援服務 指示你做更改,否則避免對代理節點進行變更。

代表您在 AKS 管理代理程式節點的生命週期和操作,不支援修改與代理程式節點建立關聯的 IaaS 資源。 不支援的作業範例之一,是透過 Azure 入口網站或 API 手動變更組態,藉此自訂節點集區虛擬機器擴展集。

針對特定工作負載的配置或套件,AKS 建議使用 Kubernetes DaemonSet。

使用 Kubernetes 的特權 DaemonSet 和 init 容器,可讓您在叢集代理程式節點上調校、修改或安裝非 Microsoft 軟體。 這類自訂的範例包括新增自訂安全性掃描軟體或更新 sysctl 設定。

雖然在上述需求適用時建議使用此路徑,但 AKS 工程和支援人員無法協助因自訂部署 DaemonSet 而導致節點無法使用的修改疑難排解或診斷。

安全性問題和修補

如果在 AKS 的一個或多個受控元件中發現安全性瑕疵,則 AKS 小組會修補全部受影響的叢集,以減輕問題。 或者,AKS 小組會提供升級指導。

對於受安全漏洞影響的代理節點,Microsoft 會通知您影響詳情及修復或緩解安全問題的步驟。

節點維護和存取

雖然你可以登入代理節點並更改它們,但請不要執行這個操作。 變更可能會讓叢集無法支援。

網路連接埠、存取權和 NSG

你只能在自訂子網路上自訂網路安全群組(NSG)。 下表顯示了你可以自訂 NSG 的位置:

網路範圍 NSG 可以自訂嗎?
自訂子網路 是的
受管理子網 No
代理節點 NIC 層級 No

AKS 需要連線到特定端點。 為了控制出口並確保必要的連接,請參見 限制出口流量。 對於 Ingress,需求是根據你部署到叢集的應用程式而定。

已停止、解除配置和未就緒的節點

下表總結了 AKS 叢集在每個生命週期狀態及其相關時間軸中發生的情況:

狀況 行為 Timeline
叢集因 az aks stop 而停止 狀態先保留,之後刪除 保存12個月
所有節點手動解除配置 (IaaS API、Azure CLI 或入口網站) 視為不受支援、遭 AKS 停止,然後正常保留 30天後停止
零個就緒節點,零個運行中虛擬機 叢集已停止 30天後
暫停的訂用帳戶 群組立刻停止,然後又被刪除 90天後刪除
已刪除訂閱 叢集已立即刪除 立即

如果你不需要 AKS 工作負載持續運行,就 停止 AKS 叢集,這樣會停止所有節點池和控制平面,需要時再重新啟動。 透過 IaaS API、Azure CLI 或 Azure 入口網站手動解除節點,並不是支援的停止叢集的方法。

AKS 保留封存持續 30 天以上未符合支援指引之控制平面的權利。 AKS 會維護叢集 etcd 元資料的備份,並能在任何 PUT 操作中重新配置叢集,使其重新支援,例如升級或擴展至主動代理節點。

不支援的 Alpha 版和搶鮮版 (Beta) Kubernetes 功能

AKS 支援上游 Kubernetes 專案中的穩定與測試功能,但除非另有說明,否則不支援 alpha 功能。 下表總結了依功能類型的支援情況:

特徵類型 Supported? Notes
穩定的上游 Kubernetes 功能特性 是的 完全支援。
Kubernetes 上游測試版功能 是的 除非另有文件說明,否則均受支援。
Kubernetes 上游 Alpha 版功能 No 除非另有說明,否則不支援。
AKS 預覽功能與功能標記 最大努力 不用於生產。 僅提供營業時間支援。 請參閱 預覽功能或功能標記。

預覽功能或功能旗標

針對需要擴充測試和使用者意見反應的功能,Microsoft會發行功能旗標后的新預覽功能或功能。 請將這些功能視為發行前版本或搶鮮版 (Beta) 功能。

預覽功能或功能旗標功能並非設計來用於生產環境。 持續的 API 變更和行為、錯誤修正以及其他變更,可能會導致不穩定的叢集和停機時間。

公開預覽的功能受到 最佳支援 ,因為這些功能處於預覽狀態,不適用於生產環境。 AKS 技術支援團隊僅在上班時間提供支援。 更多資訊請參見 Azure 支援常見問題。

上游的錯誤和問題

有鑑於上游 Kubernetes 專案中的開發速度,錯誤難免會發生。 其中部分錯誤無法在 AKS 系統內修補或解決。 相反地,錯誤修正需要對上游專案(如 Kubernetes、Node 或代理作業系統,以及核心)進行更大規模的修補。 對於 Microsoft 擁有的元件(如 Azure 雲端供應商),AKS 與 Azure 人員致力於在社群上游解決問題。

技術支援問題的原因是由於一個或多個上游錯誤,AKS 支援和工程師團隊將會:

  • 識別上游錯誤,並將其與支援詳細資料連結,協助說明此問題為何會影響到您的叢集或工作負載。 客戶會收到所需儲存庫的連結,以便觀察問題並查看新版本何時提供修正。
  • 提供潛在的因應措施或風險降低。 若問題可緩解,則會將 已知問題登錄於 AKS 儲存庫。 已知問題報告說明:
    • 此問題的內容,包括上游錯誤的連結。
    • 關於升級或其他持續性解決方案的因應措施和詳細資料。
    • 根據上游的發行頻率,提供包含此問題的大致時間軸。