優(yōu)刻得助力樂心醫(yī)療的Kubernetes云平臺建設(shè)實踐
摘要: Kubernetes 自2014年被 Google 開源以來,很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。因其支持自動化部署、大規(guī)??缮炜s和容器化管理等天然優(yōu)勢,已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復(fù)雜性,也讓很多企業(yè)的 Kubernetes 探索之路充滿挑戰(zhàn)。
Kubernetes 自2014年被 Google 開源以來,很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。因其支持自動化部署、大規(guī)??缮炜s和容器化管理等天然優(yōu)勢,已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復(fù)雜性,也讓很多企業(yè)的 Kubernetes 探索之路充滿挑戰(zhàn)。
從最初的自建 Kubernetes 到后來遷移至 優(yōu)刻得UK8S 平臺,整個過程遇到了哪些問題并如何解決的呢?本文將帶來【樂心醫(yī)療(300562)、股吧】在 Kubernetes 平臺建設(shè)方面的思考與實踐。
樂心醫(yī)療成立于2002年,業(yè)務(wù)采用的是基于 Dubbo 微服務(wù)框架的分布式架構(gòu),由于微服務(wù)存在數(shù)量多、配置冗雜等問題,最初我們使用了 Ansible 作為配置管理工具,雖然可以較好地解決批量系統(tǒng)配置、批量程序部署的問題,但依然難以應(yīng)對上百個微服務(wù)的頻繁擴(kuò)縮容及快速迭代。
2016年初,隨著容器技術(shù)的興起,我們調(diào)研了諸如 Mesos、Swarm、Kubernetes 等方案,由于 Kubernetes 能完美解決調(diào)度、負(fù)載均衡、集群管理、伸縮等微服務(wù)面臨的問題,因此在2016年6月份,經(jīng)過內(nèi)部評估之后,我們最終選擇了 Kubernetes。
最開始搭建 Kubernetes 需要手動依次打包下載環(huán)境需要的所有二進(jìn)制文件、驗證配置環(huán)境變量、安裝各種網(wǎng)絡(luò)存儲等插件,整個一套搭建流程完成下來非常耗費(fèi)時間且易出錯。后續(xù)還需要持續(xù)進(jìn)行手動維護(hù) Kubernetes 集群,例如升級 Kubernetes 版本、內(nèi)置組件版本等。
2016年6月,樂心醫(yī)療的第一個生產(chǎn)用 Kubernetes 集群正式上線。在使用自建 Kubernetes 的過程中,產(chǎn)生了多次因網(wǎng)絡(luò)、存儲插件產(chǎn)生的故障,大部分問題都可以通過 Google 搜索解決,但存在一些涉及到 Kubernetes 核心組件的 BUG,只能通過手動升級 Kubernetes 集群來解決,而 Kubernetes 熱升級非常麻煩,這對于當(dāng)時我們只有兩個人的運(yùn)維團(tuán)隊來說是一個很大的挑戰(zhàn)。
除了耗費(fèi)大量時間和運(yùn)維人力成本外,自建 Kubernetes 在面臨業(yè)務(wù)發(fā)展需要不斷新增節(jié)點時,很難及時應(yīng)對業(yè)務(wù)擴(kuò)容的需求,不夠靈活彈性。所以 UCloud 于2018年推出 UK8S 后,樂心醫(yī)療的運(yùn)維團(tuán)隊在開會討論之后一致決定盡快遷移到 UK8S。
使用優(yōu)刻得的容器云 UK8S 解決了自建 Kubernetes 常見的網(wǎng)絡(luò)、存儲問題,特別是存儲可直接使用 UDisk、UFS,之前自建 Kubernetes 使用到的 Nginx 也被負(fù)載均衡 ULB 所取代,極大地簡化了運(yùn)維 Kubernetes 的負(fù)擔(dān)。
在遷移至 UK8S 平臺后,樂心醫(yī)療深切體會到云服務(wù)商優(yōu)刻得提供的 Kubernetes 平臺的好處,除了可以免去 Kubernetes 集群自身的搭建及后期維護(hù)等運(yùn)維工作,在 Kubernetes 集群的穩(wěn)定性、高性能、自動伸縮等方面,UK8S 也能夠提供更加專業(yè)的服務(wù)能力。
樂心運(yùn)維團(tuán)隊在遷移至優(yōu)刻得提供的 Kubernetes 平臺之前,一直忙于解決自建 Kubernetes 中的因網(wǎng)絡(luò)、存儲或 Kubernetes 組件自身 bug 引起的突發(fā)故障,幾乎沒有時間來做提升運(yùn)維效率的工作。在拋棄自建 Kubernetes 之后,樂心運(yùn)維團(tuán)隊實現(xiàn)了 CI/CD 全部由 Jenkins Pipeline groovy 腳本管理,進(jìn)而開發(fā)了代碼管理平臺,使技術(shù)團(tuán)隊的每個成員都能更方便的參與到運(yùn)維工作中。
云平臺,樂心醫(yī)療






