在邊緣計算選項中選擇 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 :簡化的管理與設定 (「 LowOps 」),符合 Canonical 規範的 Kubernetes。
k3s :專為物聯網 (IoT) 和邊緣運算所建置的認證 Kubernetes 散發套件。
存放裝置:
- 探索可用的 CSI 驅動程式 :許多選項都可符合從雲端到本機檔案共用的需求。
網路功能:
考量
營運成本:
- 如果沒有受控服務隨附的支援,組織必須以整體方式維護及操作叢集(儲存體、網路、升級、可觀察性、應用程式管理)。 營運成本會被視為高。
輕鬆設定:
- 在組態的每個階段評估許多開放原始碼選項,無論其網路、儲存體或監視選項是不可避免的,而且可能會變得複雜。 需要進一步考慮設定叢集組態的 CI/CD。 由於這些考慮,設定的輕鬆程度會被視為困難。
彈性:
- 由於能夠在沒有任何提供者限制的情況下使用任何開放原始碼工具或外掛程式,裸機 Kubernetes 具有高度彈性。
Azure Stack Edge 上的 Kubernetes
Kubernetes 叢集(主要 VM 和背景工作 VM)已為您在 Azure Stack Edge Pro 裝置上設定和部署。
Azure Stack Edge Pro 裝置會將計算、儲存體、網路和硬體加速機器學習 (ML) 等 Azure 功能傳遞給任何邊緣位置。 一旦在任何 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 管理員 Center 或 PowerShell 模組)。
案例
適用于想要在相容裝置上取得 Microsoft 支援的叢集(Azure Stack HCI 或 Windows Server)的簡化和簡化方式的人。 相較于裸機 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 無狀態應用程式