如何透過 Rancher 輕鬆實現多雲部署

Rancher發表於2023-05-05

“多雲”透過不同的雲廠商分發應用程式提高了彈性,能夠幫助企業強化自身的競爭力。此外,多雲還降低了被雲廠商鎖定的可能性,讓企業避免過於依賴某個雲廠商。

雖然多雲的優勢很多,但是管理多雲 Kubernetes 的困難還是讓人望而卻步。部署多個叢集,將它們作為一個單元使用並監控整個叢集是非常艱鉅的任務。企業需要一種方法來持續實現授權、可觀測性和安全的最佳實踐。

Rancher 是一個開源的企業級 Kubernetes 管理平臺,能夠實現 Kubernetes 叢集在混合雲和本地資料中心的集中部署與管理。它解決了多雲 Kubernetes 部署的挑戰,例如檢視工作負載執行位置以及集中進行身份認證和訪問控制。

本文將詳細介紹如何透過 Rancher 在多雲場景中輕鬆使用 Kubernetes。

Rancher 和多雲部署

Rancher 的優勢之一是讓使用者在使用多個環境時獲得一致的體驗。無論叢集位於雲端還是本地,你都可以管理所有叢集的整個生命週期。它還抽象出 Kubernetes 實現之間的差異,建立了用於監控部署的統一介面。

Rancher 非常靈活,可以與新舊叢集一起工作,並且支援透過以下三種方式連線叢集:

  1. 使用雲 Kubernetes 服務配置新叢集:Rancher 可以建立新的 Amazon Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS) 、Google Kubernetes Engine (GKE) 、阿里雲 ACK、騰訊雲 TKE 和華為雲 CCE 叢集。該過程在 Rancher UI 中可以完全自動化。此外,還可以匯入現有叢集。
  2. 在獨立的雲基礎設施上配置新叢集:Rancher 可以透過在你的雲服務商上配置新的計算節點來部署 RKE、RKE2 或 K3s 叢集。此選項支援 Amazon Elastic Compute Cloud (EC2)、Microsoft Azure、DigitalOcean、Harvester、Linode 和 VMware vSphere。
  3. 使用你自己的叢集:支援手動連線在本地或其他雲環境中執行的 Kubernetes 叢集。這樣,你可以在混合部署的情況下結合使用本地和公有云基礎設施的多項功能。

新增了多雲叢集后,就可以使用 Rancher 無縫管理這些叢集。

統一的儀表板

多雲最大的難題之一是跟蹤部署的內容、位置以及執行情況。Rancher 為你提供了統一的儀表板,顯示了每個叢集,包括叢集的雲環境及其資源利用率:

Rancher 主頁面集中顯示了已註冊的叢集,涵蓋了你的雲上和本地部署。側邊欄也整合了叢集的快捷方式,你可以在環境之間快速切換。

導航到特定叢集后,你可以在Cluster Dashboard頁面檢視容量、利用率、事件和部署的概覽檢視:

繼續向下滾動,你可以檢視用於分析效能的叢集指標:

有了 Rancher,你可以在單個工具中訪問所有 Kubernetes 環境的重要監控資料,不再需要單獨登入各個雲服務商的控制皮膚。

集中的授權和訪問控制

Kubernetes 內建了對RBAC的支援,用來限制使用者可以執行的操作。但是,這對於多雲部署來說是不夠的,因為你必須在每個叢集中單獨管理和維護策略。

Rancher 透過新增集中式身份認證系統提高了多雲 Kubernetes 的可用性。你可以在 Rancher 中設定使用者賬號或使用 LDAP、SAML 和 OAuth 等協議連線外部服務。

建立使用者後,你可以為使用者分配特定的訪問控制規則,限制使用者在 Rancher 和你的叢集中的許可權。全域性許可權定義了使用者如何管理你的 Rancher。例如,你可以建立和修改叢集連線,而叢集和專案級別角色用於在選擇叢集后配置可用的操作。

要建立新使用者,單擊左上角的選單圖示來展開側邊欄,然後選擇 Users & Authentication。然後,在顯示現有使用者的頁面上單擊 Create 按鈕:

在以下頁面填寫新使用者的憑證:

向下滾動頁面,然後為新使用者分配許可權。

設定使用者的全域性許可權,控制他們在 Rancher 中的整體訪問級別。然後,在下方為角色的特定操作新增粒度更細的策略。完成後,點選右下角的 Create 按鈕新增賬號。至此,使用者可以登入 Rancher:

接下來,導航到某個叢集,然後前往側邊欄中的 Cluster > Cluster Members。單擊右上角的 Add 按鈕來授予使用者對叢集的訪問許可權:

使用下方頁面搜尋使用者賬號,然後設定使用者在叢集中的角色。單擊右下角的 Create 後,使用者將能夠執行你分配的叢集互動操作:

新增叢集角色

要更精確地控制訪問,你可以設定基於 Kubernetes RBAC 的角色。它們可以應用於全域性(Rancher)、特定叢集或專案/名稱空間。三者的建立方法類似。

要建立叢集角色,再次展開 Rancher 側邊欄並返回到 Users & Authentication 頁面。從左側選單中選擇 Roles,選擇 Cluster 選項卡。然後,單擊右上角的 Create Cluster Role 按鈕:

為角色命名並輸入描述(可選)。接下來,使用 Grant Resources 來定義角色包含的 Kubernetes 許可權。此示例允許使用者在叢集中建立和列出 Pod。單擊 Create 按鈕新增角色:

向叢集新增新成員後,該角色會顯示:

Rancher 和多雲安全

Rancher 透過提供主動機制來增強多雲安全。除了集中身份認證和 RBAC 的優勢外,Rancher 還整合了其他安全措施來保護你的叢集和雲環境。

Rancher 在網際網路安全中心 (CIS) Benchmark 基準的基礎上維護了一份綜合加固指南,可幫助你實施最佳實踐並識別漏洞。你可以在 Rancher 應用程式中根據 Benchmark 掃描叢集。

為此,導航到你的叢集,然後展開左側欄中的 Apps > Charts。從列表中選擇 CIS Benchmark Chart:

單擊下一個頁面上的 Install 按鈕:

按照以下步驟完成安裝:

該過程可能需要幾分鐘,完成後你會在日誌窗格中看到 “SUCCESS” 訊息:

現在,導航回你的叢集。你會在 Rancher 的側邊欄中找到一個新的 CIS Benchmark 專案。展開此選單並單擊 Scan,然後在出現的頁面上單擊 Create 按鈕:

在下一個頁面上,系統會提示你選擇掃描配置檔案,該檔案定義了要執行的加固檢查。你可以更改預設值來選擇不同的 Benchmark 測試或 Kubernetes 版本。按 Create 按鈕開始掃描:

然後,掃描將顯示在 CIS Benchmark > Scan 頁面上的 Scans 列表中:

完成後,你可以選擇表中的掃描並在瀏覽器中檢視結果:

Rancher 幫助 DevOps 團隊擴充套件多雲環境

多雲是非常困難的,更多的資源通常意味著更高的開銷、更大的攻擊面和快速膨脹的工具鏈。這些問題可能會成為你擴充套件的阻礙。

Rancher 結合了多個獨特功能,可幫助運維人員有效地處理分佈在多個環境中的部署。

自動備份叢集,安全更有保證

Rancher 具有一個備份系統,你可以將其作為 Operator 安裝到叢集中。此 Operator 將備份你的 Kubernetes API 資源,你可以輕鬆實現災難恢復。

要新增 Operator,導航到叢集並從側邊欄中選擇 Apps > Charts。然後找到 Rancher Backups 應用並按照提示進行安裝:

然後,Rancher Backups 會出現在導航選單中。單擊 Create 按鈕定義一個一次性或定期備份計劃:

配置你的備份詳情:

建立備份後,如果資料被意外刪除或發生災難,你可以進行恢復。使用 Rancher,你可以透過統一的流程為所有叢集建立備份,從而提高環境的復原能力。

Rancher 與多雲解決方案整合

Rancher 是可在任何叢集中管理 Kubernetes 的統一平臺,這也是 Rancher 的一大優勢。與其他生態系統工具結合使用時,Rancher 的表現還能更加出色。Rancher 整合了以下元件,為特定用例提供了更聚焦的支援:

  • Longhorn:分散式雲原生塊儲存,可在任何位置執行並支援自動配置、安全和備份。你可以在 Rancher UI 中將 Longhorn 部署到你的叢集,以便為工作負載提供更可靠的儲存。
  • Harvester:裸機伺服器上的超融合基礎架構(HCI)解決方案。它提供了一個虛擬機器管理系統,補充了 Rancher 的 Kubernetes 叢集功能。透過同時使用 Harvester 和 Rancher,你可以高效地管理本地叢集以及託管這些叢集的基礎設施。
  • Helm:Kubernetes 應用程式的標準包管理器。它將應用程式的 Kubernetes 清單打包到一個稱為 Chart 的集合中,你可以隨時使用單個命令進行部署。Rancher 原生支援 Helm Chart,並且提供了一個方便的介面,你可以透過其應用程式系統將 Chart 部署到叢集中。

結合使用 Rancher 與其他常用工具後,你可以讓你的多雲 Kubernetes 變得更加強大。有了自動化儲存、本地基礎設施管理和打包好的應用程式,你能隨心所欲地進行擴充套件,無需手動配置環境和建立應用程式資源。

使用 Rancher Fleet 部署到大規模環境

Rancher 還可以幫助你使用自動化 GitOps 部署應用程式。Rancher Fleet 是專門用於容器化工作負載的 GitOps 解決方案,它提供了透明的可見性和靈活的控制,並支援在多個環境中進行大規模部署。

Rancher Fleet 為你管理 Kubernetes 清單、Helm Chart 和 Kustomize 模板,並將它們轉換為可以自動部署在叢集中的 Helm Chart。要在 Rancher 安裝中設定 Fleet,單擊左上角的選單圖示,然後從滑出式主選單中選擇 Continuous Delivery

單擊 Get started 連線你的第一個 Git 倉庫並將其部署到叢集中。Rancher 支援在所有環境中使用標準化的交付工作流。你不再侷限於單一的雲服務商、交付渠道或 PaaS:

結 論

多雲讓部署更靈活、更高效。透過結合多個雲服務商的解決方案,你可以為每個元件選擇最佳選項,同時避免供應商鎖定的風險。

但是,將多雲與容器和 Kubernetes 結合使用的企業還是經常會遇到運維挑戰。管理位於多個不同環境(例如公有云和本地伺服器)中的叢集通常困難重重。此外,自行實現集中監控、訪問控制和安全策略是一項非常繁重的工作。

Rancher 提供了用於配置基礎設施、安裝 Kubernetes 和管理部署的統一平臺,助你輕鬆應對這些挑戰。它相容 Google GKE、Amazon EKS、Azure AKS、阿里雲 ACK、騰訊雲 TKE、華為雲 CCE 以及你自己的叢集,是實現多雲 Kubernetes 互操作的終極解決方案。立即試用 Rancher 來配置和擴充套件多雲 Kubernetes 吧!

相關文章