kubernetes 微服務西游記(持續更新中...)


隨着微服務架構的流行,邁向雲原生的趨勢,容器化微服務就成為了持續集成最好的手段,鏡像成為了持續交付最好的產物,容器成為了鏡像運行最好的環境,kubernetes成了部署容器最好的生態系統和規范。實踐出真知,自學習kubernetes以來,寫了一系列文章,首先,為了發現知識盲點,查漏補缺,將知識點形成體系,決定將之前寫的文章做一個匯總,方便查看;其次,希望打通微服務落地kubernetes的任督二脈,探索出一種工作模式,建立一條高度自動化的流水線,於是踏上了西天取經的道路,並梳理出了西游路線圖,希望大家和我一起打妖怪,早日到達雷音寺,取得真經,阿彌陀佛,成佛成仙,呵呵;最后,通過梳理明確學習的方向和目標,一步一步前進,勿急勿躁,也鞭策自己不斷學習、探索,因為有時真的就懶惰了,嘿嘿,正如四書五經《大學》中所言:“知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得”,這是我最喜歡的話之一,也是懶惰時常常會想起的一句話,好了,不扯犢子了,嘿嘿。

西游路線圖(不斷探索中...):

  1. 持續集成 --- development階段
    代碼提交、代碼審核、構建編譯、單元和功能測試、合並到代碼倉庫(git)、打包微服務成鏡像、上傳到鏡像倉庫 --- 全自動化。

備注:持續集成流程非常重要,特別是互聯網行業,產品不斷的更新迭代,周期卻很短,業務系統微服務化后,就像一輛汽車被拆分成各種組件,分配到不同的工廠加工生產,生產過程的每個階段都需要按標准不斷的交互對接,保證最后組合在一起的產物是符合預期設計標准的。至於持續集成的工作流程,每個公司可以結合自己的實際情況,建立符合自身的持續集成流程。
該階段的產物是鏡像

  1. 持續交付 --- staging階段
    持續集成系統級別的發布方案到chart模板倉庫,使用k8s的包管理器helm一鍵部署預生產環境,自動運行聯調(集成)測試 --- 半自動化。

備注:生產環境必須由專人按照嚴謹、合理、認可、穩定的流程(滾動發布、金絲雀發布等)完成部署工作,我們將這些方案編排成chart模板,並在預生產環境進行測試,沒問題后,持續集成到遠程倉庫。
該階段目的就是根據服務之間的依賴關系編排服務,並將服務部署代碼化,即基礎設施自動化,它的產物是chart模板,可以看作是一份DevOps文檔,里面存放在各種各樣的運維腳本,自動化完成各式任務,這樣生產環境對於服務的發布、更新、回滾、擴容都可通過編排文件實現,從而增加可塑性、易管理性、和自動化的能力。比如需要升級100個服務中的5個服務,只需要修改編排文件中5個服務的配置就行了,當編排文件提交后,生產環境通過命令一鍵更新,當發現新環境這5個服務有問題時,當然希望將這個5個服務原子回滾,如果沒有編排文件,需要人工記錄這次升級了哪5個服務。有了編排文件,只需要執行一個命令就revert到上一個版本了,而且所有的操作在代碼倉庫里面都已經被記錄了。

  1. 持續部署 --- production階段
    只需要一個命令,自動從遠程倉庫拉取特定的chart模板,完整部署准備就緒的微服務腳手架到k8s生產環境 --- 全自動化。

第一部分 修行

第二部分 西天取經

第三部分 吃飯睡覺打妖怪

延伸閱讀

https://mp.weixin.qq.com/s/Ybca--Nx4m1_w9xfH6voMQ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM