KubeSphere (github.com/kubesphere) 作為云原生家族 后起之秀,開(kāi)源近兩年的時(shí)間以來(lái)收獲了諸多用戶(hù)與開(kāi)發(fā)者的認(rèn)可。本文通過(guò)大白話詮釋 KubeSphere 的定位與價(jià)值,以及不同團(tuán)隊(duì)為什么會(huì)選擇 KubeSphere。
對(duì)于企業(yè) KubeSphere 是什么
KubeSphere 是在 Kubernetes 之上構(gòu)建的 多租戶(hù) 容器平臺(tái),以應(yīng)用為中心,提供全棧的 IT 自動(dòng)化運(yùn)維的能力,簡(jiǎn)化企業(yè)的 DevOps 工作流。使用 KubeSphere 不僅能夠幫助企業(yè)在公有云或私有化數(shù)據(jù)中心快速搭建 Kubernetes 集群,還提供了一套功能豐富的向?qū)讲僮鹘缑妗?/p>
KubeSphere 能夠幫助企業(yè)快速構(gòu)建一個(gè)功能豐富的容器云平臺(tái),讓企業(yè)在享受 Kubernetes 的彈性伸縮與敏捷部署的同時(shí),還可以在容器平臺(tái)擁有 IaaS 平臺(tái)的存儲(chǔ)與網(wǎng)絡(luò)能力,獲得與 IaaS 一樣穩(wěn)定的用戶(hù)體驗(yàn)。比如在 KubeSphere 2.1.1 新增了對(duì)阿里云與騰訊云塊存儲(chǔ)插件的集成,支持為 Pod 掛載公有云的存儲(chǔ),為有狀態(tài)應(yīng)用提供更穩(wěn)定的持久化存儲(chǔ)的能力。


多租戶(hù)平臺(tái)
在日常的運(yùn)維開(kāi)發(fā)中,我們可能需要使用與管理大量的開(kāi)源工具,頻繁地在不同工具的 GUI 和 CLI 窗口操作,每一個(gè)工具的單獨(dú)安裝、使用與運(yùn)維都會(huì)帶來(lái)一定的學(xué)習(xí)成本,而 KubeSphere 容器平臺(tái)能夠統(tǒng)一納管與對(duì)接這些工具,提供一致性的用戶(hù)體驗(yàn)。這意味著,我們不需要再去多線程頻繁地在各種開(kāi)源組件的控制面板窗口和命令行終端切換,極大賦能企業(yè)中的開(kāi)發(fā)和運(yùn)維團(tuán)隊(duì),提高生產(chǎn)效率。

統(tǒng)一納管云原生工具
對(duì)于開(kāi)發(fā)者 KubeSphere 是什么
有很多用戶(hù)習(xí)慣把 KubeSphere 定義為 “云原生全家桶”。不難理解,KubeSphere 就像是一個(gè)一攬子解決方案,我們?cè)O(shè)計(jì)了一套完整的管理界面,開(kāi)發(fā)與運(yùn)維在一個(gè)統(tǒng)一的平臺(tái)中,可以非常方便地安裝與管理用戶(hù)最常用的云原生工具,從業(yè)務(wù)視角提供了一致的用戶(hù)體驗(yàn)來(lái)降低復(fù)雜性。為了不影響底層 Kubernetes 本身的靈活性,也為了讓用戶(hù)能夠按需安裝,KubeSphere 所有功能組件都是可插拔的。

支持在任何平臺(tái)運(yùn)行
KubeSphere 基于 OpenPitrix (openpitrix.io) 和 Helm 提供了應(yīng)用商店,對(duì)內(nèi)可作為團(tuán)隊(duì)間共享企業(yè)內(nèi)部的中間件、大數(shù)據(jù)、APM 和業(yè)務(wù)應(yīng)用等,方便開(kāi)發(fā)者一鍵部署應(yīng)用至 Kubernetes 中;對(duì)外可作為根據(jù)行業(yè)特性構(gòu)建行業(yè)交付標(biāo)準(zhǔn)、交付流程和應(yīng)用生命周期管理的基礎(chǔ),作為行業(yè)通用的應(yīng)用商店,可根據(jù)不同需求應(yīng)對(duì)不同的業(yè)務(wù)場(chǎng)景。在 3.0 版本還將支持計(jì)量 (Metering),方便企業(yè)對(duì)應(yīng)用與集群資源消耗的成本進(jìn)行管理。

KubeSphere 應(yīng)用商店
對(duì)于運(yùn)維 KubeSphere 是什么
可觀察性是容器云平臺(tái)非常關(guān)鍵的一環(huán),狹義上主要包含監(jiān)控、日志和追蹤等,廣義上還包括告警、事件、審計(jì)等。對(duì)于 Kubernetes 運(yùn)維人員來(lái)說(shuō),通常需要搭建和運(yùn)維一整套可觀察性的技術(shù)架構(gòu),例如 Prometheus + Grafana + AlertManager、EFK 等等。并且,企業(yè)通常還需要對(duì)不同租戶(hù)能夠看到的監(jiān)控、日志、事件、審計(jì)等信息,實(shí)現(xiàn)按不同租戶(hù)隔離,這些需求的引入無(wú)疑會(huì)增大企業(yè)的運(yùn)維成本與復(fù)雜性。
KubeSphere 能夠幫助運(yùn)維人員基于 Kubernetes 快速搭建一套滿(mǎn)足云原生可觀察性標(biāo)準(zhǔn)的技術(shù)架構(gòu),支持在一個(gè)統(tǒng)一的平臺(tái)納管這些組件,或?qū)油獠恳延械慕M件。KubeSphere 能夠在一套管理界面中,實(shí)現(xiàn)從基礎(chǔ)設(shè)施層級(jí)到容器微服務(wù)層級(jí)的多維度日志與監(jiān)控,支持逐級(jí)下鉆定位異常資源,并且能夠滿(mǎn)足多租戶(hù)隔離的需求。在 3.0 版本還將持續(xù)增強(qiáng)可觀察性,近一步豐富事件與審計(jì)的可視化管理能力。

豐富的可觀察性
對(duì)于 DevOps 團(tuán)隊(duì) KubeSphere 是什么
對(duì)于 DevOps 團(tuán)隊(duì)而言,日常工作除了開(kāi)發(fā)一些自動(dòng)化的工具之外,還需要運(yùn)維與管理眾多開(kāi)源工具鏈。DevOps 本身作為一個(gè)很廣義的方法論,也可以被認(rèn)為是一種文化,很多 DevOps 團(tuán)隊(duì)在落地過(guò)程中,也會(huì)遇到各種各樣問(wèn)題,例如 CI/CD 工具繁多、涉及人員和環(huán)境較多、流程相對(duì)復(fù)雜等等。

GitOps 流程
我們選擇以工具型產(chǎn)品的形式,將 DevOps 在 KubeSphere 中落地。KubeSphere DevOps 系統(tǒng)選擇 Jenkins 作為其 CI/CD 引擎,借助 Jenkins 豐富的插件體系和易于進(jìn)行擴(kuò)展開(kāi)發(fā)的特性,幫助 DevOps 團(tuán)隊(duì)在一個(gè)統(tǒng)一的平臺(tái)中,打通開(kāi)發(fā)、測(cè)試、構(gòu)建、部署、監(jiān)控、日志與通知等流程。KubeSphere 為 DevOps 團(tuán)隊(duì)打造了以容器為載體的端到端的應(yīng)用交付平臺(tái),實(shí)現(xiàn)從項(xiàng)目管理、應(yīng)用開(kāi)發(fā)、持續(xù)集成、單元測(cè)試、制品構(gòu)建到應(yīng)用的生產(chǎn)交付,所有的流程都是一個(gè)完整的閉環(huán)。

KubeSphere DevOps 流水線
基于 Kubernetes,KubeSphere DevOps 充分利用和釋放 Kubernetes 動(dòng)態(tài)擴(kuò)展的能力。例如,我們?cè)趦?nèi)置的 DevOps 系統(tǒng)使用了 Jenkins Kubernetes 的動(dòng)態(tài) Agent,即默認(rèn)全部使用動(dòng)態(tài)的 Kubernetes Slave,這樣的方案相較于傳統(tǒng)虛擬機(jī)上的 Jenkins 要更加靈活敏捷。同時(shí),在 KubeSphere DevOps 中內(nèi)置了用戶(hù)常用的 Agent 類(lèi)型,例如 Maven、Node.js、Go 等,并且還支持用戶(hù)自定義與擴(kuò)展的 Agent 類(lèi)型。

基于 Kubernetes 的動(dòng)態(tài) Jenkins
我們將內(nèi)置的 Jenkins 與 KubeSphere 賬戶(hù)打通,滿(mǎn)足企業(yè)對(duì) CI/CD 流水線多租戶(hù)隔離與統(tǒng)一認(rèn)證的需求。另外,KubeSphere DevOps 支持創(chuàng)建 InSCM 與 OutOfSCM 兩種形式的流水線。這樣能很好地兼容項(xiàng)目已有的 Jenkinsfile,或使用圖形化編輯流水線。

可視化流水線
業(yè)務(wù)開(kāi)發(fā)者即使還沒(méi)有深入了解 Docker 與 Kubernetes 的機(jī)制,也可以借助 KubeSphere 內(nèi)置的自動(dòng)化 CD 工具,如 Binary to Image 和 Source to Image。用戶(hù)只需要提交一個(gè)倉(cāng)庫(kù)地址,或上傳 JAR/WAR/Binary 等二進(jìn)制文件,即可快速將制品打包成 Docker 鏡像并發(fā)布到鏡像倉(cāng)庫(kù),最終將服務(wù)自動(dòng)發(fā)布至 Kubernetes 中,無(wú)需編寫(xiě)一行 Dockerfile。并且,在自動(dòng)構(gòu)建的過(guò)程中,能夠生成動(dòng)態(tài)日志,幫助開(kāi)發(fā)者快速定位服務(wù)構(gòu)建與發(fā)布的問(wèn)題。

Binary/Source to Image
對(duì)于運(yùn)營(yíng) KubeSphere 是什么
在產(chǎn)品新版本發(fā)布前,運(yùn)營(yíng)團(tuán)隊(duì)通常需要引入一部分流量對(duì)新版本灰度測(cè)試。灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時(shí)候就可以對(duì)新版本進(jìn)行測(cè)試,方便及時(shí)發(fā)現(xiàn)和調(diào)整問(wèn)題,以驗(yàn)證產(chǎn)品的可行性和收集用戶(hù)反饋。


KubeSphere 灰度發(fā)布
KubeSphere 基于 Istio 提供了藍(lán)綠部署、金絲雀發(fā)布、流量鏡像等三種灰度策略,無(wú)需修改應(yīng)用的服務(wù)代碼,即可實(shí)現(xiàn)灰度、流量治理、Tracing、流量監(jiān)控、調(diào)用鏈等服務(wù)治理功能,即讓產(chǎn)品的迭代能夠按照不同的灰度策略對(duì)新版本進(jìn)行線上環(huán)境的測(cè)試,并且能夠在服務(wù)拓?fù)渑c Tracing 中發(fā)現(xiàn)微服務(wù)間互相請(qǐng)求的網(wǎng)絡(luò)問(wèn)題。


KubeSphere Service Mesh 流量拓?fù)?/p>
如何安裝 KubeSphere
KubeSphere 支持部署和運(yùn)行在包括 公有云、私有云、虛機(jī)、物理機(jī) 和 Kubernetes 等任何基礎(chǔ)設(shè)施之上,并支持在線與離線安裝,可 「點(diǎn)擊原文」參考 KubeSphere 官方文檔 (kubesphere.com.cn)進(jìn)行安裝。

特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- 在RAKsmart服務(wù)器上怎么管理數(shù)據(jù)科學(xué)工作流
- 機(jī)房托管業(yè)務(wù)包括哪些
- raksmart日本云服務(wù)器產(chǎn)品優(yōu)勢(shì)
- 算力服務(wù)器多少錢(qián)一臺(tái)??jī)r(jià)格因素與選購(gòu)指南
- 美國(guó)服務(wù)器防攻擊技術(shù)有哪些
- 逃離平臺(tái)算法:站長(zhǎng)做自媒體的終極目標(biāo)是“流量主權(quán)”
- 美國(guó)服務(wù)器防攻擊技術(shù)有哪些
- AI 浪潮下,個(gè)人網(wǎng)站如何借勢(shì)轉(zhuǎn)型創(chuàng)業(yè)