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

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

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

  域名預(yù)訂/競價,好“米”不錯過

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

遷移平臺的云原生之路

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

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

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

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

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

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

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

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

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

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

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

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

經(jīng)過體驗后決定采用 KubeSphere,主要基于以下幾點:

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

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

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

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

具體改造實踐落地

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

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

主要實施步驟如下幾步:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

熱門排行

信息推薦