公司成立于 2008 年,總部設(shè)在深圳,經(jīng)營范圍涵蓋非壽險各個領(lǐng)域,包括機(jī)動車輛保險、財(cái)產(chǎn)損失保險、責(zé)任保險、信用保險和保證保險、短期健康和意外傷害保險、再保險、保險資金運(yùn)用業(yè)務(wù)等。
公司一直秉持“服務(wù)客戶,奉獻(xiàn)社會,做優(yōu)秀保險企業(yè)”的使命,始終堅(jiān)持走“專業(yè)、精選、特色、創(chuàng)新”的發(fā)展道路,充分發(fā)揮公司在能源行業(yè)、電力保險業(yè)務(wù)方面的專長,全力提升“一站式”綜合服務(wù)能力。
未來,公司將以“能源行業(yè)保險專家”為戰(zhàn)略定位,著力建立科學(xué)高效的決策體系、內(nèi)部控制機(jī)制和風(fēng)險管理體系,充分依托股東單位優(yōu)勢資源,不斷拓寬發(fā)展空間和服務(wù)領(lǐng)域,踔厲奮發(fā)、開拓創(chuàng)新,為客戶提供量身定制的保險產(chǎn)品和優(yōu)質(zhì)便捷的服務(wù),努力建設(shè)成為一家“市場拓展能力強(qiáng)、風(fēng)險管理能力強(qiáng)、效益優(yōu)秀、管理優(yōu)秀、客戶服務(wù)優(yōu)秀”國內(nèi)一流、國際知名保險公司。
背景介紹
公司業(yè)務(wù)系統(tǒng)按前,中、后臺劃分。前臺與中臺系統(tǒng)采用敏捷開發(fā)模式,后臺采用穩(wěn)態(tài)開發(fā)模式,形成敏穩(wěn)雙態(tài)的格局。敏態(tài)業(yè)務(wù)主要是使用容器部署,穩(wěn)態(tài)業(yè)務(wù)使用虛擬機(jī)部署。原有容器云平臺定制化開發(fā)程度高,K8s 版本低舊,平臺與 K8s 版本耦合度緊,相關(guān) DevOps 流水線組件版本老舊,可承載的業(yè)務(wù)量成為瓶頸,不能滿足業(yè)務(wù)快速發(fā)展要求。因此公司決定使用新的容器云平臺。
選型說明
因身處傳統(tǒng)行業(yè),基于 K8s 的云原生開發(fā)能力不足。青云科技推出的KubeSphere 容器平臺使用多租戶方式管理和使用資源,集成 CI/CD 支持靈活擴(kuò)容與升級集群,能夠構(gòu)建企業(yè)級一站式 DevOps 架構(gòu),提供集群資源的可監(jiān)控性服務(wù),非常符合公司的需求。
目前架構(gòu)
公司目前所有的項(xiàng)目都是通過敏捷管理平臺進(jìn)行管理。從用戶提交需求,到故事任務(wù)拆分,需求排期,迭代計(jì)劃,版本發(fā)布任務(wù),缺陷管理,自動化測試都在該平臺完成。同時平臺提供流水線編排,應(yīng)用單元管理等功能,通過 API 與 KubeSphere 平臺集群 K8s 對接,充分利用 KubeSphere 強(qiáng)大的容器管理功能,實(shí)現(xiàn)容器應(yīng)用的發(fā)布與管理。后續(xù) K8s 集群管理,項(xiàng)目管理,配置管理,存儲管理,節(jié)點(diǎn)管理,負(fù)載管理,應(yīng)用管理,網(wǎng)絡(luò)管理等全部在 KubeSphere 中完成。

實(shí)踐過程
第一,KubeSphere 在服務(wù)部署中的應(yīng)用。
使用原 DevOps 流水線通過 K8s 集群的 6443 端口和 Token 實(shí)現(xiàn)敏捷管理平臺與 K8s 集群的訪問對接,目前有 dev,sit,uat,prd 四個集群,代碼層面基本實(shí)現(xiàn)了配置與代碼的分離。發(fā)布時 sit 建立發(fā)布分支,經(jīng)過 sit 發(fā)布驗(yàn)證后流水線流轉(zhuǎn)到 uat 進(jìn)行驗(yàn)證,保證 uat 與 prd 的代碼一致。Harbor 鏡像倉庫在測試區(qū)與生產(chǎn)區(qū)分別部署,通過同步策率及時同步 uat 與 prd 的鏡像數(shù)據(jù),生產(chǎn)進(jìn)行發(fā)布時不需要重新編譯打包鏡像的過程,只需要從生產(chǎn)的鏡像倉庫拉取對應(yīng)的服務(wù)鏡像,實(shí)現(xiàn)生產(chǎn)的發(fā)布。整個過程全部是流水線自動完成,上一個環(huán)節(jié)完成后才能進(jìn)入下一個環(huán)節(jié),自動高效。目前的 CI/CD 流程如下:

第二,服務(wù)發(fā)布流水線。
在敏捷管理平臺中做服務(wù)發(fā)布流水線的編排,設(shè)置流水線的應(yīng)用單元信息,代碼倉庫與代碼分支信息,流水線階段信息,流水線腳本信息等,通過調(diào)用 K8s 集群的 API 接口進(jìn)行服務(wù)的發(fā)布。


第三,服務(wù)發(fā)布訪問。
使用 NodePort 方式集群網(wǎng)關(guān)作為集群 Nginx Ingress,同時將集群網(wǎng)關(guān)使用一個節(jié)點(diǎn)做集群 LB。再通過集群內(nèi)部搭建的 DNS 服務(wù)器將域名指向 LB 的地址,實(shí)現(xiàn)集群內(nèi)部應(yīng)用的域名訪問。

KubeSphere 集群網(wǎng)關(guān)

LB 負(fù)載均衡監(jiān)聽器
在集群內(nèi)部部署 DNS 服務(wù)器,將應(yīng)用服務(wù)的域名進(jìn)行解析,根據(jù)服務(wù)名稱、項(xiàng)目名稱、集群名稱的組合來自定義應(yīng)用的路由,方便管理與運(yùn)維。

DNS 服務(wù)

使用配置字典保存應(yīng)用的配置信息

在工作負(fù)載中使用配置信息

在應(yīng)用路由中配置服務(wù)的域名訪問
第四,服務(wù)發(fā)布優(yōu)化。
在實(shí)際的使用過程中發(fā)現(xiàn)服務(wù)接口間傳遞大于 1MB 的報(bào)文會失敗,通過在應(yīng)用路由 Ingress 增加注解參數(shù) nginx.ingress.kubernetes.io/proxy-body-size 將限制調(diào)整至合適的值后接口間報(bào)文傳遞正常。
公司業(yè)務(wù)與 KubeSphere 的契合點(diǎn)
首先,公司開發(fā)人員缺乏 Docker 和 K8s 的使用經(jīng)驗(yàn)。KubeSphere 無縫契合 K8s,操作畫面友好,開發(fā)人員能夠低成本上手使用 K8s,享受 K8s 帶來的便攜性。
其次,KubeSphere 的多租戶架構(gòu)與公司的企業(yè)架構(gòu)一致。架構(gòu)分集群,企業(yè)空間和項(xiàng)目三個層級。一個集群下可以建立多個企業(yè)空間,一個企業(yè)空間可以建立多個項(xiàng)目,對應(yīng)公司實(shí)際產(chǎn)品線,每個層級的一個實(shí)例就是一個 Workspace,其他與同層次其他實(shí)例的資源隔離。
最后,公司的信創(chuàng)建設(shè)需求 KubeSphere 能很好的滿足。
落地成效
通過引入和采用 KubeSphere,實(shí)現(xiàn)環(huán)境管理高效,應(yīng)用都運(yùn)行在容器平臺中,集約管理與利用資源。同時,運(yùn)維管理成本降低,日志與監(jiān)控都通過 KubeSphere 平臺自身的功能,通過不同的命名空間管理,運(yùn)維與開發(fā)人員能方便查看與管理。
除此外,硬件資源利用率提高,通過將各種不同品牌的硬件資源納管為資源池統(tǒng)一對外提供服務(wù)。業(yè)務(wù)系統(tǒng)可靠性提升,通過容器就緒/存活探針機(jī)制,保證應(yīng)用對外提供服務(wù)的有效性;通過流量管理機(jī)制,保證應(yīng)用發(fā)布或重啟時用戶無感知。
未來,公司將充分利用青云科技及 KubeSphere 的生態(tài),逐步擴(kuò)大應(yīng)用場景,將前臺,中臺系統(tǒng)逐步遷移上云。探索基于 KubeSphere 的 Nacos,Spring Cloud 的開發(fā),采用 KubeSphere 的 DevOps 流水線,包括 Binary-to-Image (B2I) 和 Source-to-Image (S2I) 等。在服務(wù)監(jiān)控與治理方面探索 Istio 與 APM 的應(yīng)用。






