Rancher 是一套開源的企業(yè)級容器管理平臺,支持大量的 Kubernetes 發(fā)行版以及 Linux 操作系統(tǒng),將 openEuler Linux 納入支持體系是我們近期開展的一項工作。
這是一次 Rancher 和 openEuler 的上云之旅,同時也是我們內部工程體系的一部分,一旦納入一種新的 OS,就需要讓它能在云端啟用,這是云原生時代的大勢所趨。本文展示了使用 AWS 平臺這一上云過程,并搭建了一套 Rancher+openEuler 的環(huán)境用于展現這種能力。 文中提到的相關產品版本信息如下:
openEuler | 22.03 LTS |
Rancher | v2.6.8 |
K3s | v1.24.4+k3s1 |
RKE2 | v1.24.4+rke2r1 |
構建 openEuler AMI openEuler 在 Cloud Image 這方面還不夠完善,目前主要提供 ISO 鏡像,在 Cloud Image 層面還只有一個簡單的 QCOW2 Image。我們首先實現了一套工程化方法,將 openEuler QCOW2 Image 轉換為 AWS AMI,這樣我們可以在云端靈活部署啟用。 這個過程需要做一些額外工作,我們重新調整了社區(qū) QCOW2 Image 的 rootdisk 分區(qū),引入了可以適配云環(huán)境的相關軟件包,并通過 scripts+packer 工具實現了整體構建。構建 AMI 的同時,也順帶解決了以下問題:
無法動態(tài)注入 ssh key;
無法自動擴容根磁盤;
禁用 Apparmor,確保容器正常啟動(實際不應該直接禁用,后續(xù)會尋找更加合理的解決辦法);
默認內置云原生場景必要的基礎軟件包(避免測試部署時手動安裝);
openEuler ARM64 系統(tǒng)缺少 ENA 驅動,導致 EC2 ARM 實例網絡無法激活。
后續(xù),我們會推動在 openEuler 社區(qū)建設 Cloud Image。對于云原生場景,很顯然這是一項非常重要的基礎工作。 部署 Rancher 以及下游集群 openEuler 雖然內置了 Docker 引擎,但最終我們仍然決定不使用 Docker。從Kubernetes 生態(tài)角度來看,Docker 已不再是必需品。Rancher 無論是管理平面還是下游集群,也不會強烈依賴 Docker;而且 Containerd 已經內置到 K3s 和 RKE2 中,也不需要 openEuler 的 Containerd 軟件包。 在這個層面解耦是非常重要的,因為操作系統(tǒng)的軟件包存在很強的依賴關系,減少這種和 OS 軟件包的沖突,更有利于運維管理。未來,也會考慮將歐拉開源社區(qū)中的輕量化容器引擎 iSulad 等引入到我們的方案中,為客戶提供更為靈活多樣的選擇。 我們設計了一個部署架構,它可以快速展示 Rancher+openEuler 的能力:
使用 AMD64 AMI,啟動一臺 EC2 實例,部署 K3s;
在此 K3s上,部署 Rancher Server;
使用 ARM64 AMI,啟動一臺 EC2 實例,部署 K3s ARM64 版本,將其以導入方式納管到 Rancher;
使用 Rancher 中的 EC2 Node Driver,彈性創(chuàng)建 RKE2 集群,AMI 使用 AMD64 鏡像。
Local K3s 和 Rancher Server 的安裝較為簡單,這里我們可以直接簡化為兩行腳本:
curl -sfL https://get.k3s.io | K3S_TOKEN=SUSERancherGC sh -s - server --cluster-initcurl https://raw.githubusercontent.com/cnrancher/autok3s/master/assets/rancher-setup/rancher-l7.sh | sh -
另一個 K3s ARM64 集群的創(chuàng)建和導入也十分簡單,無需特別的參數處理。一旦 K3s ARM64 和 Rancher Server 都準備妥當之后,使用 Generic Import 導入即可。實際,我們可以看到這樣的效果:
基于 EC2 Node Driver 配置彈性 RKE2 集群相對復雜一些。首先需要配置好 AWS 的訪問密鑰,Rancher 支持大量的公有云生態(tài),在 AWS 上使用過程和其他云基本一致。
創(chuàng)建 RKE2 集群時,選擇 EC2 Node Driver,配置 RKE2 節(jié)點模板,以及集群的基礎參數配置。在 AWS 上,選擇先前構建的 AMI,并使用 openEuler 作為 SSH User,同時選擇 Spot 競價實例,對于普通的測試環(huán)境可以極大程度減少費用。
通過 UI 以 SSH 靈活訪問 RKE2 節(jié)點,這些節(jié)點使用 openEuler Linux。這取決于我們先前配置 openEuler AMI 以及其 SSH User。
使用 Node Drvier 方式最具特色的能力,就是可以快速進行集群擴容。因為 Rancher 連接了 EC2 API,并且會根據集群配置狀態(tài)自動將部署任務下發(fā)給新的 openEuler 節(jié)點。
對于集群內的資源管理,可以切換到集群瀏覽視圖,對每個 workload 資源精細化管理。
這樣,我們就完成了 Rancher 和 openEuler 的初步上云之旅。一個單節(jié)點的管理平面,兩個下游集群,分別是 K3s 集群和 RKE2 集群,并且 K3s 使用了 ARM64 系統(tǒng)。同時,一定程度展示了 Rancher 的多云多集群的管理能力。
未來商業(yè)化思考 通過 Rancher 對公有云的整合能力以及 Kubernetes 發(fā)行版的管理能力,可以很順暢地將 openEuler 帶入公有云環(huán)境。不但擴充了 Rancher 的兼容矩陣,也連接了 openEuler 生態(tài)。 SUSE 作為傳統(tǒng) Linux 廠商,也基于 openEuler 構建了自己的商業(yè)發(fā)行版 SUSE Euler。同時,Rancher 在商業(yè)化層面也有 Rancher 企業(yè)版,通過 Rancher 企業(yè)版和SUSE Euler 的組合,可以為客戶帶來更穩(wěn)定的商業(yè)技術支持。
About SUSE Rancher
Rancher是一個開源的企業(yè)級Kubernetes管理平臺,實現了Kubernetes集群在混合云+本地數據中心的集中部署與管理。Rancher一向因操作體驗的直觀、極簡備受用戶青睞,被Forrester評為“2020年多云容器開發(fā)平臺領導廠商”以及“2018年全球容器管理平臺領導廠商”,被Gartner評為“2017年全球最酷的云基礎設施供應商”。
目前Rancher在全球擁有超過三億的核心鏡像下載量,并擁有包括中國聯(lián)通、中國平安、中國人壽、上汽集團、三星、施耐德電氣、西門子、育碧游戲、LINE、WWK保險集團、澳電訊公司、德國鐵路、廈門航空、新東方等全球著名企業(yè)在內的共40000家企業(yè)客戶。
2020年12月,SUSE完成了對RancherLabs的收購,Rancher成為了SUSE"創(chuàng)新無處不在(Innovate Everywhere)"企業(yè)愿景的關鍵組成部分。SUSE和Rancher共同為客戶提供了無與倫比的自由和所向披靡的創(chuàng)新能力,通過混合云IT基礎架構、云原生轉型和IT運維解決方案,簡化、現代化并加速企業(yè)數字化轉型,推動創(chuàng)新無處不在。
當前,SUSE及Rancher在中國大陸及港澳臺地區(qū)的業(yè)務,均由數碩軟件(北京)有限公司承載。SUSE在國內擁有優(yōu)秀的研發(fā)團隊、技術支持團隊和銷售團隊,將結合Rancher領先的云原生技術,為中國的企業(yè)客戶提供更加及時和可信賴的技術支撐及服務保障。
-
容器
+關注
關注
0文章
495瀏覽量
22062 -
AWS
+關注
關注
0文章
432瀏覽量
24370 -
openEuler
+關注
關注
2文章
314瀏覽量
5882
原文標題:一次 Rancher 和 openEuler 的上云之旅
文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論