摘要:淺述集群日常管理維護中的一些痛點較為龐大的集群規模及容器數量維護管理。同時為了便于分類管理,避免端口沖突和資源合理利用。測試環境維護管理問題。測試版是基于與的運維管理系統。
原文出自【聽云技術博客】:http://blog.tingyun.com/web/a...
時至今日,接觸kubernetes也有一段時間了,而我們的大部分業務也已經穩定地運行在不同規模的kubernetes集群上,不得不說,無論是從應用部署、迭代,還是從資源調度管理等方面都有其難以言喻的優勢,但是隨著業務的不斷增長,以及服務的多元化,容器的體量與管理的難度也隨之增長。
淺述Kubernetes集群日常管理維護中的一些痛點:
1.較為龐大的集群規模及容器數量維護管理。
我們公司的業務場景屬于典型的多業務線并行。同時為了便于分類管理,避免端口沖突和資源合理利用。我們也采取了一些策略,如:
標簽 label:通過標簽,一方面可以標識哪個產品線的哪個應用坐落于哪些node之上,也許有人會想為什么要這樣做,假設你有一個數據落盤的應用而該應用總是每次隨著啟動變來變去就不好玩了。一方面通過標簽可以均衡設備負載,比如將比較耗cpu和比較耗內存的搭配在一起,不但資源充分利用而且還有效的防止同類型(比如高耗cpu)偶然間跑一個node上導致資源爭搶及端口沖突。
那么問題來了,如何讓一個運維人員面對茫茫多的標簽并對其維護管理(kubectl get node –show-labels ?),又如何讓一個運維人員,故障發生時,面對茫茫多的nodes/pods,即時快速地定位兩者的對應關系,從而解決問題。
2. 測試環境維護管理問題。
一般的應用部署與上線流程較為繁瑣
這種模式下,讓每個研發人員在每次調試beta環境時,無論是更改配置還是代碼更新都需要溝通運維人員予以操作,讓每個運維人員都要用更多的精力額外的維護一套甚至更多系統環境,每天游走于beta,線上之間。不免有點讓人頭痛。
更希望有這樣的一種模式
這樣大大減少了部門之間的溝通成本。但是問題來了,如何讓一個研發人員能夠獨立的開發維護屬于自己的beta環境,且不需要過多的關心除代碼調試外的一些東西呢?(如怎樣去寫一個基于kubernetes服務的yaml或json)
借此,于是萌生出了一個嘗試寫一個管理服務的想法,目的在于讓運維人員更加方便的管理自己的kubernetes線下線上集群,讓研發人員也能夠獨立自主的編寫與維護屬于自己的測試環境應用,初期階段,僅供參考,若有不足之處,歡迎大家隨時予以寶貴意見。
Python Admin(測試版)是基于Python+Django與kubernetes Api的運維管理系統。前端采用開源SB(start bootstrap) Admin-2模板(清新,簡約)。
1.版本信息:
Python2.7.5+Django1.8.13+Kubernetes1.2.4+docker1.10.3
2.Kubernetes Api相關:
創建與更新label
curl -X PATCH -i -H "Content-Type:application/merge-patch+json" http://k8smaster:8080/api/v1/nodes/{ nodename } -d "{"metadata":{"labels":{"標簽":"應用"}}}"
創建configmap
curl -X POST -i -H "Content-Type:application/json" http://k8smaster:8080/api/v1/namespaces/default/configmaps/ -d "$(cat configmaptest.json)"
更新configmap
curl -X PATCH -i -H "Content-Type:application/merge-patch+json" http://k8smaster:8080/api/v1/namespaces/default/configmaps/{ configmapname } -d "$(cat configmapupdate.json)"
刪除configmap
curl -X DELETE http://k8smaster:8080/api/v1/namespaces/default/configmaps/{ configmapname }
Configmap的基本Json模板
創建daemonset
curl -X POST -i –H "Content-Type:application/json" http://k8smaster:8080 /apis/extensions/v1beta1/namespaces/default/daemonsets -d "$(cat daemonset.json)"
更新daemonset
curl -X PATCH -i -H "Content-Type:application/merge-patch+json" http://k8smaster:8080/apis/extensions/v1beta1/namespaces/default/daemonsets/{daemonsetname} -d "$(cat daemonsetupdate.json)"
刪除daemonset
curl -X DELETE http://k8smaster:8080/apis/extensions/v1beta1/namespaces/default/daemonsets/{daemonsetname}
daemonset 基本json模板
以上列舉為部分api操作,其他相關操作請參考kubernetes官方文檔
http://kubernetes.io/docs/api...
3.平臺操作界面概覽
1..Kubernets集群資源管理界面(清晰展示集群資源信息及所屬項目組,便于分類管理)
2.項目應用配置管理界面(配置文件多帶帶管理,采用數據庫存儲配置文件內容。創建和更新configmap時重新reload,并實時同步配置文件使用狀態。)
3.服務部署與管理界面(應用模板創建,同時增加系統日志功能,服務啟動后記錄每個階段的執行情況,方便錯誤追蹤,具有一定的操作審計功能)
4.Kubernetes容器資源管理界面(每個集群所有node,以及每個node所有pods信息,并采用websocket方式exec進入容器內部避免權限控制不當問題)
如果不確認服務是否能正常啟動,Container建立完畢后,可以通過debug模式(command: ["sleep", "足夠長時間"])進去容器內部執行./run.sh調節服務,待沒問題后,再已正常模式啟動。
未來優化的一些小想法:
1.kubernets集群一鍵部署,節點資源即時加入。
2.監控方面,在系統級別監控的基礎上,增加容器服務級別監控及相應告警策略。
3.整合融入jenkins接口,讓服務部署與更新,更簡單透明化。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38229.html
摘要:上周,在舉行的上,發布,整合和。多虧存儲應用程序會話到數據庫通常來說是下載安裝或者是,我們不需要特定的負載均衡器,運行完全沒有問題。用負載均衡器描述的展示了浮動和私有集群。特別感謝來自的的支持和在測試過程中作出的貢獻。 上周,在Austin舉行的OpenStack Summit上,CoreOS發布Stackanetes,整合Kubernetes和OpenStack。 一個月前,Core...
摘要:相關基于項目和項目,并遵循應用的十二因素風格。相關在設計上,項目盡量保持驅動和模塊化,以便模塊支持不同的實現方案。相關不僅可以管理眾多虛擬機,其計算服務還支持對的驅動,管理引擎的子項目還可用于通過模板管理容器。現已整合公司所支持的項目。 整理自《Docker技術入門與實踐》 PaaS(Platform as a Service) PaaS 是希望提供一個統一的可供所有軟件直接運行而無需...
摘要:推薦閱讀資源庫工具應用程序精選列表中文版有哪些鮮為人知,但是很有意思的網站一份攻城獅筆記每天搜集上優秀的項目一些有趣的民間故事超好用的谷歌瀏覽器油猴插件合集目錄資源文檔文章圖書會談教程更多庫工具管理數據部署桌面發展監控應用資源文檔介紹文檔教 推薦閱讀 MongoDB 資源、庫、工具、應用程序精選列表中文版 有哪些鮮為人知,但是很有意思的網站? 一份攻城獅筆記 每天搜集 Github ...
摘要:今天,大會召開,在這場規模三萬人的盛會上,宣布推出作為多云服務新方案,提供跨云目前僅支持和管理集群。是業界第一個多集群多云管理平臺。正如發布而極大地幫助普及了技術一樣,我們也相信將促進將多集群多云管理帶入更主流的階段。 今天, Google Cloud NEXT 2019大會召開,在這場規模三萬人的盛會上,G...
摘要:宋體是面向內部基于打造的容器服務平臺,旨在提升內部研發效率,幫助改善規范研發流程。宋體作為容器編排框架,可以減輕配置部署管理和監控大規模容器應用的負擔。宋體核心原理宋體解釋不得不提中兩個最具價值的理念聲明式和控制器模式。KUN(Keep UCloud Nimble)是面向 UCloud 內部、基于 Kubernetes 打造的容器服務平臺,旨在提升內部研發效率,幫助改善、規范研發流程。在 K...
閱讀 2784·2023-04-25 18:06
閱讀 2576·2021-11-22 09:34
閱讀 1684·2021-11-08 13:16
閱讀 1302·2021-09-24 09:47
閱讀 3049·2019-08-30 15:44
閱讀 2773·2019-08-29 17:24
閱讀 2584·2019-08-23 18:37
閱讀 2433·2019-08-23 16:55