作為物聯網 + 數智化園區一體化解決方案提供商,我們企業致力于為大中型園區、停車場提供軟硬件平臺,幫助園區運營者實現數字化、智能化運營。
在使用 K8s 之前我們使用傳統的方式部署上線,使用 spug(一款輕量級無 Agent 的自動化運維平臺) 自動化在單節點完成代碼部署上線,也沒有進行容器化,隨著產品上線提上日程,對穩定性要求提高,以及私有化部署環境管理問題,我們開始使用 Docker 以及 K8s。
背景介紹
降本增效是每個企業的目標,而 DevOps、容器化、云原生就是研發團隊降本增效的方法論。在這個趨勢下,使用 Docker、K8s 幾乎是每個開發團隊的必經之路。
物聯網平臺對穩定性要求非常高,一旦停機,所有設備都將掉線重連,因此保證服務的穩定性,減少停機時間就非常重要。
在使用 K8s 之前,我們很多時間都要人工處理各種繁瑣重復的服務維護問題,這種枯燥且毫無技術含量瑣碎極大的消磨開發團隊的激情。為了將人力從大量重復的環境配置、服務維護中解放出來從而提高開發迭代效率,我們就決定全面容器化,擁抱云原生。
總結來說就是:
•服務穩定性,自動化運維,減少停機時間;
•分布式部署,彈性伸縮;
•DevOps 規范的部署上線流程。
這些問題迫使我們開始調研容器化、Docker、K8s 的應用。
選型說明
由于沒有相關經驗,因此一開始我們就希望找到一款能夠幫助快速上手 K8s 的工具,在調研 KubeSphere、Zadig、Rancher、KubeVela、Kubeadm 等多款工具后,我們最終選擇了 KubeSphere。
選擇 KubeSphere 最主要的原因首先是它的社區活躍,有問題能夠找到解決方案。同時它集成了很多開箱即用的插件如 DevOps,這正是我們所需要的。當然第一眼就選中 KubeSphere 還是因為它的顏值,能看得出來 KubeSphere 的 UI 是經過精心設計過的,這在開發工具領域中是極為難得的,從這點上就能夠看出背后的開發團隊對于打造一款基于 K8s 的云原生操作系統的理念與決心。
使用 KubeSphere 讓我們立馬就擁有了成熟 DevOps 工作流了,而無需額外的搭建成本,這對于我們毫無 K8s 經驗的團隊來說太重要了,極大的降低了上手門檻。
目前我們將所有無狀態應用全部容器化,使用 K8s 負載,提交代碼 Webhook 觸發 KubeSphere 流水線自動發布,對于不習慣命令行操作的用戶,KubeSphere 后臺能滿足所有需求。
使用效果
使用 KubeSphere 后我們幾乎就沒再關注過服務是否在線等運維的瑣碎事情了,因為 K8s 會保證一切按照預期進行,這使得我們的迭代發布速度大大提高,開發要做的只是提交代碼,其它的一切都不用操心,極大的提高了開發編碼的幸福度和對保障服務穩定的信心。
•無狀態應用分布式部署,彈性伸縮;
•自動發布,自動化運維,故障自愈;
•一次構建到處運行,無懼環境搭建。