當(dāng)前位置:首頁(yè) >  科技 >  IT業(yè)界 >  正文

基于KubeSphere容器平臺(tái),圖菱科技實(shí)現(xiàn)圖菱科技業(yè)務(wù)系統(tǒng)容器化

 2022-07-08 16:21  來(lái)源: 互聯(lián)網(wǎng)   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

作為一家面向互聯(lián)網(wǎng)在線模版網(wǎng)站的素材資源供應(yīng)商,圖菱科技為客戶提供模版輸出以及系統(tǒng)化解決方案。幫助客戶輸出規(guī)范化的設(shè)計(jì)產(chǎn)品。

遷移平臺(tái)的云原生之路

早在 2020 年之前,圖菱科技 IT 團(tuán)隊(duì)規(guī)模比較小,開發(fā)還要兼職運(yùn)維測(cè)試。發(fā)展初期,基本上由業(yè)務(wù)驅(qū)動(dòng)開發(fā)?;谫Y源方面因素,所以在系統(tǒng)架構(gòu)上首先是滿足功能使用,快速開發(fā)推出產(chǎn)品,系統(tǒng)架構(gòu)建設(shè)也是基于某大廠云一步步從單體到多模塊,再到微服務(wù)做演進(jìn)。

圖菱科技初期業(yè)務(wù)方向是印刷類商品的私人訂制,滿足個(gè)性化的輸出的移動(dòng)端應(yīng)用,配套生產(chǎn)的供應(yīng)的訂單管理系統(tǒng),同時(shí)涉及到旅行行業(yè),為旅行社提供定制線路設(shè)計(jì)的 SaaS 系統(tǒng),模板海報(bào)的輸出系統(tǒng),以及圖庫(kù)等旅行社所需要的素材資源。

業(yè)務(wù)系統(tǒng)服務(wù) 增多,亟需開發(fā)流程優(yōu)化

經(jīng)過(guò)幾年發(fā)展,業(yè)務(wù)系統(tǒng)服務(wù)開始增多,基礎(chǔ)技術(shù)架構(gòu)難以應(yīng)付業(yè)務(wù)的快速變化,研發(fā)團(tuán)隊(duì)也亟需合理的開發(fā)流程來(lái)支持后續(xù)管理。

通過(guò)將主要面臨困難進(jìn)行了梳理,大致有以下幾點(diǎn):

第一,開發(fā)環(huán)境和生產(chǎn)環(huán)境不一致:在項(xiàng)目迭代過(guò)程中,有時(shí)出現(xiàn)開發(fā)環(huán)境和生產(chǎn)環(huán)境配置不一致的問(wèn)題,導(dǎo)致生產(chǎn)系統(tǒng)和業(yè)務(wù)問(wèn)題不一致。

第二,無(wú)統(tǒng)一發(fā)布管理系統(tǒng):初期由于各方面管理粗獷,缺乏自動(dòng)化構(gòu)建系統(tǒng),版本功能完后,開發(fā)需要專門手動(dòng)編譯,打包上線發(fā)布,過(guò)程復(fù)雜還不好管理。

第三,資源協(xié)調(diào):雖然業(yè)務(wù)系統(tǒng)已經(jīng)采用 SpringCloud 整體微服務(wù)化,但各個(gè)服務(wù)資源的分配卻無(wú)法協(xié)調(diào)。印刷服務(wù)在生成印刷文件時(shí)需要占用系統(tǒng)資源比普通業(yè)務(wù)系統(tǒng)高幾倍,但又不是實(shí)時(shí)需要。之前都是專門用一臺(tái)機(jī)器來(lái)做,但其實(shí)這種不太靈活。所以亟需能自動(dòng)擴(kuò)縮容的方案。

開啟容器化改造之旅,選中 K ube Sp here

基于上述的痛點(diǎn),結(jié)合自身業(yè)務(wù)系統(tǒng),圖菱科技準(zhǔn)備進(jìn)行容器化改造。

最開始接觸 Kubernetes 時(shí)了解到官方提供的管理平臺(tái),通過(guò)調(diào)研和嘗試了下后發(fā)現(xiàn)它只是管理 Kubernetes 容器的基本信息,并不是簡(jiǎn)單將業(yè)務(wù)放上去就能開箱即用,而涉及業(yè)務(wù)上的日志平臺(tái),監(jiān)控系統(tǒng),鏈路最終等基礎(chǔ)運(yùn)維體系還需自己去引入管理。

最后嘗試使用一些集成的平臺(tái)解決方案,其中有青云科技(qingcloud.com,股票代碼:688316)推出的開源容器平臺(tái)KubeSphere,也有Rancher。

經(jīng)過(guò)體驗(yàn)后決定采用 KubeSphere,主要基于以下幾點(diǎn):

第一,Kubernetes 這塊全新的知識(shí)體系要掌握達(dá)到生產(chǎn)落地學(xué)習(xí)時(shí)間成本較高,對(duì)于我們應(yīng)用性企業(yè)需要的是能簡(jiǎn)單上手的產(chǎn)品。

第二,Rancher 側(cè)重于運(yùn)維管理,學(xué)習(xí)成本相對(duì)較高;KubeSphere 偏向業(yè)務(wù)應(yīng)用為中心,更符合圖菱科技情況。

第三,Rancher 需要自己部署 Jenkins 等插件;KubeSphere 在一些組件整合上做的較好,比如 DevOps 能做到開箱即用。而發(fā)布部署是圖菱科技目前最迫切需要的。

最后,KubeSphere 是由國(guó)內(nèi)青云科技推出的產(chǎn)品,使用更符合國(guó)人習(xí)慣,而且完全開源。

具體改造實(shí)踐落地

針對(duì)已有硬件資源管理,目前圖菱科技整個(gè)業(yè)務(wù)基礎(chǔ)設(shè)施構(gòu)建在某大廠云上,包括 ECS、數(shù)據(jù)庫(kù)和 OSS 存儲(chǔ)等。

6 臺(tái) ECS 分布如下:ECS-1 ~ ECS-4:業(yè)務(wù)服務(wù)。ECS-5:測(cè)試機(jī)器。ECS-6:圖菱科技內(nèi)部項(xiàng)目管理,包括 Bug 管理,Git 等。

主要實(shí)施步驟如下幾步:

首先,搭建鏡像倉(cāng)庫(kù)在 ECS-6 上,搭建 Harbor 倉(cāng)庫(kù)。提供圖菱科技業(yè)務(wù)容器應(yīng)用的私有鏡像管理工具。

其次,構(gòu)建業(yè)務(wù)系統(tǒng)鏡像 對(duì)每個(gè)業(yè)務(wù)服務(wù)添加相應(yīng)配置文件 Dockerfile, 用于平臺(tái)流水線發(fā)布時(shí)構(gòu)建鏡像。

第三,準(zhǔn)備系統(tǒng)環(huán)境。系統(tǒng)環(huán)境主要是 Kubernetes 搭建,這里主要考慮存儲(chǔ)和網(wǎng)絡(luò)選型。

存儲(chǔ)層面,最開始考慮使用 Ceph,搭建 demo 使用后發(fā)現(xiàn),如果和 Kubernetes 搭建于同一集群環(huán)境,對(duì)資源還是有一定消耗?;谀壳皹I(yè)務(wù)設(shè)計(jì)(基本上沒(méi)有有狀態(tài)服務(wù)需要涉及)、以及當(dāng)前業(yè)務(wù)體量,最終采用相對(duì)輕量的 NFS 共享盤方式。

網(wǎng)絡(luò)層面,Kubernetes 主流的網(wǎng)絡(luò)插件目前主要有 Calico 和 Flannel,我們參考社區(qū)的經(jīng)驗(yàn),最終選擇了 Calico。

安裝層面,KubeSphere 平臺(tái)是按照官網(wǎng)提供的文檔基于 Kubernetes 搭建的。

圖菱科技先最小化搭建,然后在使用的過(guò)程中再根據(jù)需要開啟一些所需組件。

KubeSphere 平臺(tái)在插件安裝這塊的體驗(yàn)比較好,只需要對(duì)配置文件相應(yīng)做調(diào)整就能很容易實(shí)現(xiàn)。比如日志平臺(tái)默認(rèn)由 Elasticsearch 做存儲(chǔ),但我們已經(jīng)自建有 Elasticsearch 集群,只需要調(diào)整 ks-installer 配置。

整個(gè)過(guò)程有可能會(huì)遇到一些問(wèn)題,但基本上 KubeSphere 社區(qū)上都能找到解決方案。

CI/CD 發(fā)布流程也是這次改造的重點(diǎn)。DevOps 項(xiàng)目是 KubeSphere 中的一個(gè)可插拔組件,提供了基于 Jenkins 的 CI/CD 流水線,支持自動(dòng)化工作流,包括 Binary-to-Image (B2I) 和 Source-to-Image (S2I) 等。

KubeSphere DevOps 提供了開箱即用的 CI/CD 流水線,并通過(guò)圖形化方式降低了學(xué)習(xí)門檻,我們就直接對(duì)官網(wǎng)的示例進(jìn)行改造,采用配置文件基于流水線 Pipleline 構(gòu)建和發(fā)布。

日志采集這塊,KubeSphere 平臺(tái)提供了 FluentBit Operator,在集群所有節(jié)點(diǎn)以 DaemonSet 運(yùn)行,并統(tǒng)一部署配置了 Fluent Bit,同時(shí)查詢方式能滿足現(xiàn)有業(yè)務(wù)。

容器化 改造完成, 開發(fā)流程顯著改善

歷時(shí)差不多一個(gè)月時(shí)間完成基本業(yè)務(wù)系統(tǒng)容器化。圖菱科技通過(guò) KubeSphere 不同企業(yè)空間下的項(xiàng)目(Namespace)來(lái)進(jìn)行開發(fā)、測(cè)試與生產(chǎn)環(huán)境的隔離以及通過(guò)不同角色賦予不同企業(yè)空間的權(quán)限,做到細(xì)粒度的權(quán)限管理。

版本上線基于 Kubernetes 的副本以及探針來(lái)控制,基本上能在不影響業(yè)務(wù)情況下做到隨時(shí)發(fā)布。圖菱科技基本架構(gòu)走向自動(dòng)流程化。

目前,圖菱科技在服務(wù)網(wǎng)格這塊還在探索階段,服務(wù)治理(比如:監(jiān)控指標(biāo),微服務(wù)流控)還是處于試用體驗(yàn)階段。后續(xù)隨著業(yè)務(wù)復(fù)雜度提升后,圖菱科技將加快在 KubeSphere 平臺(tái)中實(shí)現(xiàn)服務(wù)治理,做到業(yè)務(wù)與技術(shù)分離。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
模版制作

相關(guān)文章

  • GANSS再燃紅色火焰,GS87-D法拉利紅側(cè)刻雙模版上市

    繼2017年陸續(xù)發(fā)布GS104、GS87法拉利紅版機(jī)械鍵盤后,2018年,GANSS(迦斯)再次推出法拉利紅配色產(chǎn)品——GS87-D法拉利紅側(cè)刻雙模版機(jī)械鍵盤——為這一“紅色火焰”再添新火種。

    標(biāo)簽:
    機(jī)械鍵盤
    模版制作
  • Rushmail:如何更好設(shè)計(jì)郵箱群發(fā)的模版

    隨著智能手機(jī)的普及,使用移動(dòng)客戶端查收郵件的使用習(xí)慣的客戶是越來(lái)越多,根據(jù)Rushmail郵件群發(fā)平臺(tái)(www.rushmail.com)數(shù)據(jù)統(tǒng)計(jì)分析,在美國(guó)有超過(guò)88%的移動(dòng)用戶一天內(nèi)至少查看手機(jī)郵箱一次,并且他們用移動(dòng)設(shè)備查看電郵的時(shí)間占到了利用移動(dòng)設(shè)備全部上網(wǎng)時(shí)間的42%!這個(gè)是非常驚人的數(shù)字

    標(biāo)簽:
    模版制作
  • Rushmail:郵件營(yíng)銷的模版修改實(shí)用技巧

    許多企業(yè)在做EDM營(yíng)銷的時(shí)候知道郵件的內(nèi)容是重中之重,為了把郵件內(nèi)容做得足夠吸引客戶,嘗試了非常多的方法,因此各種各樣的郵件模版便大受歡迎。但是并不是隨便拿個(gè)模版過(guò)來(lái),然后替換一下信息就可以發(fā)出去了,我們應(yīng)該掌握一些技巧,通過(guò)修改模版讓它和我們的產(chǎn)品或者服務(wù)更加貼合,同時(shí)也可以形成有一定企業(yè)風(fēng)格的郵

    標(biāo)簽:
    模版制作
  • 學(xué)習(xí)制作wp博客模版的過(guò)程感想

    在WP學(xué)習(xí)模版制作已經(jīng)有段時(shí)間了,在剛開始學(xué)習(xí)模版制作的時(shí)候確時(shí)遇到家過(guò)很多問(wèn)題,在這里我想講一下我制作模版過(guò)程中遇到的問(wèn)題詞。

    標(biāo)簽:
    模版制作

熱門排行

信息推薦