選擇邊緣 Kubernetes 計算選項
本文討論可用於擴充邊緣計算的各種選項取捨。 涵蓋每個 Kubernetes 選項的下列考量:
營運成本。 維護及操作 Kubernetes 叢集所需的預期人力。
輕鬆設定。 設定及部署 Kubernetes 叢集的難度層級。
彈性。 為了在邊緣整合自訂組態與現有的基礎結構,Kubernetes 選項可調整程度的量值。
混合節點。 同時搭配 Linux 和 Windows 節點執行 Kubernetes 叢集的能力。
假設
您是叢集操作員,想要了解執行邊緣 Kubernetes 以及在 Azure 中管理叢集的不同選項。
您已充分了解現有的基礎結構和任何其他基礎結構需求,包括儲存體和網路需求。
閱讀本文件之後,您將會處於更有利的位置,可找出最適合您案例和所需環境的選項。
Kubernetes 選項一覽
營運成本 | 輕鬆設定 | 彈性 | 混合節點 | 摘要 | |
---|---|---|---|---|---|
裸機 Kubernetes | 高** | 困難** | 高** | Yes | 在位置的任何可用基礎結構上的全新組態,可選擇使用 Azure Arc 來新增 Azure 功能。 |
Azure Stack Edge Pro 上的 K8s | 低 | 簡單 | 低 | 僅限 Linux | 部署在位置的 Azure Stack Edge 設備上部署的 Kubernetes。 |
混合式 AKS | 低 | 簡單 | 中 | Yes | 部署在 Azure Stack HCI 或 Windows Server 2019 上的 AKS。 |
*其他受控邊緣平台 (OpenShift、Tanzu 等) 不在本文件的範圍內。
**為了簡單起見,這些值是以使用 kubeadm 為基礎。 執行邊緣裸機 Kubernetes 的不同選項會改變這些類別的評等。
裸機 Kubernetes
在任何基礎結構上使用 kubeadm 之類的工具,進行 Kubernetes 的全新組態設定。
裸機 Kubernetes 的最大限制在於組織的特定需求和要求。 可使用任何發行版本、網路介面和外掛程式的機會意味著更高的複雜度和營運成本。 但這也提供自訂叢集最具彈性的選項。
案例
邊緣位置通常會有執行 Kubernetes 叢集的特定需求,而這些需求不符合本文件中所述的其他 Azure 解決方案。 這表示此選項通常最適合由於現有基礎結構不支援而無法使用受控服務的對象,或尋求對其叢集擁有最大控制權的對象。
對於不熟悉 Kubernetes 的人來說,這個選項可能特別困難。 對於想要執行邊緣叢集的組織來說,這並不罕見。 MicroK8s 或 k3s 等選項旨在壓平該學習曲線。
請務必了解任何基礎結構,以及預期會在前面進行的任何整合。 這有助於縮小可行的選項範圍,並找出開放原始碼工具和/或外掛程式的任何差距。
使用 Azure Arc 啟用叢集可讓您從 Azure 搭配其他資源輕鬆管理叢集。 這也會將其他 Azure 功能帶入您的叢集,包括 Azure 原則、Azure 監視器、適用於雲端的 Microsoft Defender 和其他服務。
因為叢集組態並不簡單,所以特別重要的是注意 CI/CD。 追蹤和處理各種外掛程式的上游變更,並確保這些變更不會影響叢集的健康情況,成為直接責任。 請務必備妥強大的 CI/CD 解決方案、強大的測試以及監視。
工具選項
叢集啟動程序:
kubeadm:用來建立全新 Kubernetes 叢集的 Kubernetes 工具。 適用於標準計算資源 (Linux/Windows)。
MicroK8s:簡化的管理與設定 (「低作業」),由 Canonical 提供符合規範的 Kubernetes。
k3s:專為物聯網 (IoT) 和邊緣計算建置的認證 Kubernetes 發行版本。
存放裝置:
- 探索可用的 CSI 驅動程式:許多選項都可符合從雲端到本機檔案共用的需求。
網路:
考量
營運成本:
- 如果沒有受控服務隨附的支援,組織必須自行維護及操作整個叢集 (儲存體、網路、升級、可檢視性、應用程式管理)。 營運成本會被視為高。
輕鬆設定:
- 無論是網路、儲存體或監視選項,在組態設定的每個階段評估許多開放原始碼選項都是不可避免的,而且可能會變得很複雜。 設定叢集組態的 CI/CD 需要更多考量。 由於這些考量,設定的輕鬆程度會被視為困難。
彈性:
- 由於能夠在沒有任何提供者限制的情況下使用任何開放原始碼工具或外掛程式,裸機 Kubernetes 具有高度彈性。
Azure Stack Edge 上的 Kubernetes
已為您在 Azure Stack Edge Pro 裝置上設定和部署的 Kubernetes 叢集 (主要 VM 和背景工作 VM)。
Azure Stack Edge Pro 裝置會向任何邊緣位置提供 Azure 功能,例如計算、儲存體、網路和硬體加速機器學習 (ML)。 一旦在任何 Pro-GPU、Pro-R 和 Mini-R 裝置上啟用計算角色,就可以建立 Kubernetes 叢集。 您可以使用裝置可用的標準更新,管理 Kubernetes 叢集的升級。
案例
適用於具有現有 (Linux) IoT 工作負載或升級其邊緣 ML 計算的人員。 如果不需要更細微地控制叢集,這是一個很好的選項。
預設不會授與系統管理員權限。 雖然您可以使用產品群組建立特定例外狀況,但這會讓您難以更精細地控制叢集。
如果還沒有 Azure Stack Edge 裝置,則會有額外的成本。 請探索 Azure Stack Edge 裝置,並查看是否有任何裝置符合您的計算需求。
目前僅支援 Linux 工作負載。
除了 Kubernetes 之外,Azure Stack Edge 也隨附了 IoT 執行階段,這表示工作負載也可以透過 IoT Edge 部署到您的 Azure Stack Edge 叢集。
目前不支援兩個節點叢集。 這實際上表示此選項不是高可用性 (HA) 解決方案。
考量
營運成本:
- 在裝置隨附的支援下,營運成本最低,且範圍限定於工作負載管理。
輕鬆設定:
- 與裸機 Kubernetes 相較之下,預先設定且記載完善的 Kubernetes 叢集部署可簡化所需的設定。
彈性:
- 組態已設定,而且預設不會授與系統管理員權限。 除了基本設定之外,可能需要產品群組參與,而且基礎結構必須是 Azure Stack Edge Pro 裝置,因此這個選項較不具彈性。
混合式 AKS
混合式 AKS 是一組預先定義的設定和組態,可用來在執行 Windows Server 或 Azure Stack HCI 20H2 或更新版本的多節點叢集上部署一個或多個 Kubernetes 叢集 (使用 Windows Admin Center 或 PowerShell 模組)。
案例
適用於想要精簡順暢地在相容裝置 (Azure Stack HCI 或 Windows Server) 上取得 Microsoft 支援叢集的人員。 相較於裸機 Kubernetes 選項,作業和設定複雜度會犧牲彈性。
考量
營運成本:
- Microsoft 支援的叢集可將營運成本降至最低。
輕鬆設定:
- 與裸機 Kubernetes 相較之下,預先設定且記載完善的 Kubernetes 叢集部署可簡化所需的設定。
彈性:
- 叢集組態本身已設定,但有授與系統管理員權限。 基礎結構必須是 Azure Stack HCI 或 Windows Server 2019。 此選項的彈性比 Azure Stack Edge 上的 Kubernetes 較高,但比裸機 Kubernetes 較低。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Prabhjot Kaur | 首席雲端解決方案架構師
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。
下一步
如需詳細資訊,請參閱下列文章:
使用 IoT Edge 模組在您的 Azure Stack Edge Pro GPU 裝置上執行 Kubernetes 無狀態應用程式
在 Azure Stack Edge Pro GPU 裝置上透過 kubectl 部署 Kubernetes 無狀態應用程式