Rancher Prime 為平臺(tái)工程提供面向 K8s 的彈性能力
作者簡(jiǎn)介
張應(yīng)羅,SUSE 資深架構(gòu)師,擁有 16 年架構(gòu)咨詢工作經(jīng)驗(yàn),專注于 SUSE Enterprise Container Management 相關(guān)的產(chǎn)品落地方案及咨詢方案設(shè)計(jì)。
—— 平臺(tái)工程 ——
“DevOps 已死,平臺(tái)工程才是未來!” 去年,知名軟件工程師兼 DevOps 評(píng)論員 Sid Palas 在推特上發(fā)出吶喊。
他的核心觀點(diǎn)是:開發(fā)者不想跟基礎(chǔ)設(shè)施打交道,企業(yè)在發(fā)展過程中又需要控制自己的基礎(chǔ)設(shè)施;只有平臺(tái)工程,能將這兩個(gè)相互矛盾的命題統(tǒng)一起來。這一觀點(diǎn)引發(fā)了開發(fā)者們的激烈討論,平臺(tái)工程正在崛起。
簡(jiǎn)單為大家介紹一下平臺(tái)工程(Platform Engineering)的概念。?
平臺(tái)工程的發(fā)展背景
- 軟件在不斷演進(jìn)過程中將運(yùn)維技能從開發(fā)技能中剝離出來,形成了兩個(gè)不同的職業(yè),但結(jié)果證明過度分離的兩個(gè)職業(yè)無法滿足軟件快速迭代的需求,因此 DevOps 出現(xiàn)了,我們用它來統(tǒng)一運(yùn)維及開發(fā)。開發(fā)周期是一個(gè)企業(yè)最稀缺的資源,因此應(yīng)該將盡可能多的資源放在核心產(chǎn)品開發(fā)上。
- 開發(fā)人員應(yīng)該能夠端到端地部署和運(yùn)行他們的應(yīng)用。“誰構(gòu)建,誰運(yùn)行”才是真正的 DevOps,但并不是所有的公司都是 Google、亞馬遜、微軟,大多數(shù)公司都沒有像他們那樣的人才庫,也不會(huì)僅僅為了優(yōu)化開發(fā)工作流和體驗(yàn)而像他們那樣投入資源。
- 在過去,有的工程師寫代碼,有的工程師跑代碼。而現(xiàn)在,工程師不僅編寫代碼,還要運(yùn)行他們編寫的代碼。這讓軟件工程師覺得他們必須對(duì)所有事情都了如指掌,大大增加了認(rèn)知負(fù)擔(dān)。
- 這迫使許多團(tuán)隊(duì)重新在自動(dòng)化帶來的自由與認(rèn)知負(fù)擔(dān)之間權(quán)衡利弊,平臺(tái)工程也因此越來越受關(guān)注和熱議。Gartner 在 2022 年 8 月發(fā)布的軟件工程成熟度曲線中添加了“平臺(tái)工程”。
平臺(tái)工程的定義
- “平臺(tái)工程”社區(qū)主要貢獻(xiàn)者及 Humanitec 產(chǎn)品負(fù)責(zé)人 Luca Galante 在《什么是平臺(tái)工程》的文章里指出:平臺(tái)工程是一門設(shè)計(jì)和構(gòu)建工具鏈與工作流的學(xué)科。這些工具鏈和工作流可以為云原生時(shí)代的軟件工程組織提供自助服務(wù)功能。平臺(tái)工程師提供集成化產(chǎn)品,通常稱為“內(nèi)部開發(fā)人員平臺(tái)”,可以涵蓋應(yīng)用程序整個(gè)生命周期的所有操作需求。
- 內(nèi)部開發(fā)人員平臺(tái)由平臺(tái)工程團(tuán)隊(duì)構(gòu)建,用于鋪好坦途以此來支持開發(fā)人員自助服務(wù)。內(nèi)部開發(fā)人員平臺(tái)由許多不同的技術(shù)和工具組成,以一種降低開發(fā)人員認(rèn)知負(fù)擔(dān)的方式組合在一起,無需抽象出上下文和底層技術(shù)。平臺(tái)工程團(tuán)隊(duì)將他們的平臺(tái)視為一種產(chǎn)品,根據(jù)用戶研究對(duì)其構(gòu)建,并不斷維護(hù)和改進(jìn)。
Kubernetes 在平臺(tái)工程中扮演的角色
- 無論內(nèi)部開發(fā)人員平臺(tái)的工具鏈有多么豐富,在云原生時(shí)代,Kubernetes 已然成為應(yīng)用落地部署的最優(yōu)選擇。平臺(tái)工程承載了應(yīng)用迭代和部署驗(yàn)證的重任,需要建立提供面向 Kubernetes 的彈性能力。
—— Rancher Prime ——
為平臺(tái)工程體系提供強(qiáng)有力支撐
Rancher Prime 的混合云 K8s 管理能力
Rancher Prime 研發(fā)之初的核心理念就是多云管理,因此,產(chǎn)品進(jìn)化至今,在歷經(jīng)近上千個(gè) release 后,Rancher Prime 在多云多 K8s 集群管理領(lǐng)域已然遙遙領(lǐng)先,可以隨時(shí)隨地管理和部署任意位置的 K8s 集群。
Rancher Prime?
- Rancher Prime 支持對(duì)國(guó)內(nèi)頭部公有云廠商的 K8s 發(fā)行版進(jìn)行全生命周期管理,包括阿里云 ACK、騰訊云 TKE、華為云 CCE。
- Rancher Prime 支持對(duì)國(guó)際頭部公有云廠商的 K8s 發(fā)行版進(jìn)行全生命周期管理,包括 AWS EKS(Global Region 及 China Region)、Azure AKS(Global Region及China Region)、Google GKE。
- 在私有數(shù)據(jù)中心場(chǎng)景下,Rancher Prime 可以創(chuàng)建經(jīng)過 CNCF一致性認(rèn)證的 K8s 發(fā)行版 RKE 和 RKE2,幫助客戶快速落地生產(chǎn)級(jí)別的 K8s 集群。
- 在邊緣計(jì)算場(chǎng)景下,Rancher Prime 可以創(chuàng)建輕量級(jí) K8s 發(fā)行版 K3s,并且支持 X86 和 ARM 兩種架構(gòu)。
Rancher Prime 面向多集群的中心化多租戶體系
Rancher Prime 具備一套成熟的面向多集群的中心化多租戶體系,可以輕松抽象用戶訪問權(quán)限。這為平臺(tái)工程內(nèi)的開發(fā)人員提供了良好的隔離環(huán)境,讓他們可以靈活使用自己的開發(fā)環(huán)境,而不影響其他開發(fā)人員。
Rancher Prime 多租戶體系?
- Rancher Prime 提供面向多集群并基于 RBAC 的多租戶體系,不同的用戶可以通過綁定不同的角色來獲得不同的權(quán)限。
- 擁有“全局級(jí)別”角色的用戶通??梢怨芾?Rancher Prime 的所有 K8s 集群,擁有“集群級(jí)別”角色的用戶通常只能看到和管理某一個(gè)或多個(gè) K8s 集群,擁有“項(xiàng)目/命名空間”角色的用戶通常只能看見和管理集群下某一個(gè)或多個(gè)項(xiàng)目及命名空間。
- Rancher Prime 還支持對(duì)接多種外部統(tǒng)一認(rèn)證軟件,例如 AD、Keyclock、OKTA 等,方便企業(yè)進(jìn)行統(tǒng)一認(rèn)證管理。
Rancher Prime 認(rèn)證體系對(duì)接?
NeuVector 全生命周期的平臺(tái)安全保障
在構(gòu)建內(nèi)部開發(fā)人員平臺(tái)時(shí),平臺(tái)安全始終是需要優(yōu)先考慮的問題。NeuVector 提供了全面的全生命周期、零信任容器安全體系,在整個(gè)容器生命周期中持續(xù)掃描,以消除安全隱患。在內(nèi)部開發(fā)人員平臺(tái)構(gòu)建之初就應(yīng)制定安全策略,從而最大限度地提高開發(fā)人員的靈活性。
NeuVector?
NeuVector 的安全保護(hù)包括供應(yīng)鏈安全和運(yùn)行時(shí)安全,在供應(yīng)鏈安全范疇內(nèi)可以對(duì)容器鏡像、K8s 主機(jī)資源進(jìn)行合規(guī)掃描,同時(shí)將 K8s 的準(zhǔn)入控制機(jī)制與 pipeline 流程相結(jié)合,實(shí)現(xiàn)準(zhǔn)入控制。
NeuVector 安全體系
在運(yùn)行時(shí)安全層面可通過容器微分段、DLP、WAF 等防護(hù)手段,確保內(nèi)部開發(fā)人員平臺(tái)安全性。
NeuVector 防護(hù)體系
NeuVector 可在所有經(jīng)過 CNCF 認(rèn)證的 K8s 平臺(tái)上獨(dú)立使用。在與 Rancher Prime 結(jié)合使用時(shí),只需點(diǎn)擊幾下即可安裝和使用 NeuVector,并對(duì)整個(gè) Kubernetes 環(huán)境進(jìn)行安全保護(hù)。
NeuVector with Rancher Prime?
Rancher Prime 和 NeuVector 產(chǎn)品體系的組合,可以讓平臺(tái)工程團(tuán)隊(duì)更容易構(gòu)建自己的內(nèi)部開發(fā)人員平臺(tái),讓開發(fā)工程團(tuán)隊(duì)專注于業(yè)務(wù)代碼開發(fā),而非深度對(duì)接基礎(chǔ)設(shè)施,同時(shí)也能保障平臺(tái)的安全性。
—— 典型案例 ——
Ubisoft?
育碧(Ubisoft)于 1986 年在法國(guó)成立,是全球知名的游戲制作、發(fā)行和代銷商,業(yè)務(wù)遍及五大洲,在全球擁有 40 多個(gè)開發(fā)工作室。
育碧鼓勵(lì)開發(fā)團(tuán)隊(duì)在 Kubernetes 中開發(fā)云原生微服務(wù),不久之后,創(chuàng)新項(xiàng)目激增。由于有的團(tuán)隊(duì)面向私有云進(jìn)行開發(fā),有的團(tuán)隊(duì)面向公有云進(jìn)行開發(fā),因此公司需要擁有統(tǒng)一的開發(fā)方法。
基礎(chǔ)架構(gòu)團(tuán)隊(duì)希望在公司內(nèi)部構(gòu)建一個(gè)中央 Kubernetes 配置平臺(tái),從而實(shí)現(xiàn)大多數(shù)流程的自動(dòng)化。當(dāng) UKS(Ubisoft Kubernetes Service)誕生時(shí),這一愿景成為了現(xiàn)實(shí)。這個(gè)基于 Rancher Prime 的自助式 Kubernetes 平臺(tái)讓成千上萬的開發(fā)人員能夠以可控、集中管理的方式即時(shí)啟動(dòng)新的 Kubernetes 集群。
通過使用 UKS 和 Rancher Prime,開發(fā)人員可以自由地為任何云環(huán)境進(jìn)行開發(fā),而不必手動(dòng)管理許多基本部署過程。Rancher Prime 實(shí)現(xiàn)了這些基本功能的自動(dòng)化,并大大簡(jiǎn)化了開發(fā)生命周期。
從效率的角度來看,UKS 讓開發(fā)者的工作更加輕松。與原來的手動(dòng)方式相比,大幅提高了開發(fā)速度,減少了管理時(shí)間。與以往需要耗費(fèi)幾天時(shí)間相比,通過 Rancher Prime 配置集群并將其托管在本地,平均僅需 10 分鐘。最重要的是,整個(gè)公司的 Kubernetes 集群現(xiàn)在都通過統(tǒng)一的平臺(tái)進(jìn)行管理。
目前,育碧的 K8s 集群已經(jīng)超過 200 個(gè),隨著越來越多的團(tuán)隊(duì)使用 Kubernetes,這一數(shù)字將持續(xù)上升。未來,育碧 IT 建設(shè)的重點(diǎn)是創(chuàng)建一個(gè)托管解決方案,以優(yōu)化基礎(chǔ)設(shè)施的使用,提供多租戶集群并減少運(yùn)營(yíng)負(fù)擔(dān)。
—— 未來展望 ——
無論是 DevOps 還是平臺(tái)工程,都要求基于 K8s 的底層平臺(tái)具備安全性、靈活性、穩(wěn)定性、先進(jìn)性。因此,2023 年,SUSE 企業(yè)容器管理團(tuán)隊(duì)將在如下幾個(gè)方面持續(xù)提升產(chǎn)品體驗(yàn),以回饋企業(yè)用戶及社區(qū)用戶的信任:
- Rancher Prime 不斷增強(qiáng) K3s Provisioning 能力,提供更加靈活多樣的集群選擇,K3s 極致輕量,足以應(yīng)對(duì)面向開發(fā)測(cè)試的應(yīng)用集群。
- 整個(gè) SUSE 企業(yè)容器管理產(chǎn)品線對(duì) ARM 的支持將不斷增強(qiáng),得益于 ARM 生態(tài)體系的不斷完善,越來越多的全球用戶開始使用 ARM 來降本增效。
- 持續(xù)加強(qiáng)對(duì)本土產(chǎn)品生態(tài)體系的支持,目前 Rancher Prime 已經(jīng)適配鯤鵬芯片、海光芯片、麒麟 V10、openEuler 等軟硬件體系,其中基于 openEuler 的 K8s 發(fā)行版 RFO(Rancher For OpenEuler)已經(jīng)正式 GA。