《1-楊雪-容器云獨享集群混沌實驗探索.pdf》由會員分享,可在線閱讀,更多相關《1-楊雪-容器云獨享集群混沌實驗探索.pdf(38頁珍藏版)》請在三個皮匠報告上搜索。
1、容器云獨享集群混沌實驗探索楊雪360平臺技術測試部測試開發專家楊雪2019年加入360作為云業務測試接口人負責容器云、云計算管理平臺等項目質量保證工作360平臺技術測試部測試開發專家嘉賓照片目錄CONTENTS背景和挑戰01 思考和解決-獨享實驗環境構建02 思考和解決-快速建立觀測系統03 思考和解決-標準化解決方案04 總結和展望05 01背景&挑戰背景360云操作系統基礎設施服務器網絡設備安全設備彈性計算虛擬機裸金屬容器計量計費大屏展示集群管理運維管理監控告警操作審計配額管理人員權限組織架構BGP/專線GPU存儲服務塊存儲對象存儲網絡服務負載均衡物理網絡基礎云平臺服務文件存儲虛擬網絡VP
2、N日志服務云防火墻主機安全安全組秘鑰管理安全服務數據治理數據存儲機器學習計算與分析人臉/車輛OCR識別語音識別視頻結構化消息隊列微服務DevOps關系型數據庫時序數據庫緩存數據庫數據倉庫大數據平臺多數據中心管理雙活|災備云邊協同設備管理設備通信設備接入設備認證API網關推流內容審核視頻采集實時轉碼人工智能服務IoT平臺視頻服務數據庫服務微服務中間件SaaS服務視頻云 點播|直播智能安防平臺物聯網平臺協同辦公 云盤|IM安全合規攻防演練態勢感知安全體系安全大腦云安全終端安全流量安全安全實訓瀏覽器360云計算平臺對內對外提供一站式的云平臺解決方案,融合計算虛擬化、軟件定義存儲、軟件定義網絡、容器、
3、數據庫等技術在中臺內部向上支撐大數據、人工智能、視頻云等項目在公司內支撐游戲、金融、搜索、辦公等海量集團業務背景360容器云基于多年來對容器集群管理的實際使用經驗,在kubernetes開源架構的基礎上打造的可對外私有化的容器云平臺,支撐容器業務在用戶私有環境內部落地背景混沌實驗“被動挨打”-”主動出擊”模擬不可預測的事件觀測系統行為,以了解系統可靠性穩定性的方法提高效率節省成本快速迭代缺少魯棒性驗證方案上容器穩定性擔憂、信心缺乏容器云業務背景混沌工程:在分布式系統上進行的有經驗指導的受控實驗,目的是觀察系統行為、響應并發現系統缺陷,以建立對系統承受生產環境中湍流條件的能力和信心提供了一種端到
4、端的穩定性測試理念與工具框架,通過主動引入故障來充分驗證系統和應用的脆弱性,提前發現并解決問題,力求防患于未然,從而從根本上提高系統和應用的魯棒性挑戰業務上云的實驗環境怎么準備?如何驗證實驗結果?實驗具體怎么實施?混沌實驗如何快速提供資源隔離的實驗環境?如何建立有效的穩定性觀測系統?如何將混沌實驗服務化?實驗環節復雜度高實驗環境搭建實驗場景設計實驗指標監控02思考和解決 獨享實驗環境構建獨享實驗環境構建公共集群獨享集群如何為快速提供資源隔離的混沌實驗環境?方便我們更好地模擬集群級別的極端場景,而不給線上集群引入風險托管集群使用線上已有公共集群作為實驗環境局限性:極端場景構建需要天時地利人和風險
5、高:易引發線上集群風險問題,影響其他業務用戶需要自己搭建集群并托管給容器云平臺作為實驗環境動力不足:溝通成本高、部署成本高、運維成本高方便模擬基本的運維場景資源隔離、不影響其他業務獨享實驗環境構建優勢自動化實驗環境構建彈性資源調度自動化創建獨享集群獨享實驗環境構建-自動化實驗環境構建如何快速、有效創建管理不同配置的集群??思路方案Base集群獨享集群x獨享集群A獨享集群B獨享集群CK8s onK8s問題獨享實驗環境構建-自動化實驗環境構建K8S on K8S(1)kubecluster以deployment方式運行包括api-server、controller-manager、schedule
6、r在內的容器(2)kubecluster以statefulset方式運行3副本etcd,作為k8s數據存儲(3)業務可以給獨享集群添加服務器作為worker節點。(4)獨享集群自動安裝組件,提供基礎的網絡、監控等基礎服務獨享實驗環境構建-自動化實驗環境構建“一鍵”構建實驗環境初始化集群KubeCluster(controlplane+etcd)創建 VM、Storage、VIPK8s Base ClusterHULK-openstack初始化添加節點(runtime)Kubelet containerVMs系統組件安裝Cilium CoreDNS Ingress獨享集群獨享實驗環境構建-彈性資
7、源調度Cluster Autoscaler 集群擴縮容1 大量資源占用避免資源浪費和資源不足2運維場景模擬麻煩自動模擬擴縮容實驗場景Koordinator 彈性資源調度綁核、資源壓制驅逐伸縮組創建/銷毀VM添加/刪除worker節點集群資源監控資源計算調度03思考和解決 快速建立觀測系統獨享實驗環境構建-多維度監控指標firehawk儀表盤VmagentArkitfilebeat監控組件集群基礎監控業務日志監控自動化觀測鏈路保證實驗的有效性vmagentReading PrometheusconfigsRelabelingAdding global labelsPersisting pendi
8、ng data to diskNode_exporterfirehawkremote_write protocol規則預設匹配事件發送告警如何驗證實驗結果?如何建立有效的穩定性觀測系統?獨享實驗環境構建-多維度監控指標監控結果需要實時反饋到儀表盤中,可以通過儀表盤進行實驗狀態的觀察和數據分析。獨享實驗環境構建-多維度監控指標Apiserver請求錯誤率Apiserver失聯Scheduler異常Controller異常Coredns異常Etcd存活異常Ingress錯誤率集群資源 Pod重啟時間 Pod未就緒 工作負載部署失敗 副本數未達到預期 Pending Cronjob執行失敗 內存 C
9、pu 網絡 文件系統 Kubelet狀態異常 Not ready unscheduable Disk pressure Memory pressure Pid pressure 網絡不可用 Out of disk 節點資源 deamonset sidecar獨享實驗環境構建-多維度監控指標Arkit&Filebeat-業務日志收集-進行后續日志監控對日志沒有特殊要求,直接寫入Kafka。后續的處理流程全部通過消費Kafka獲取日志支持deamonset和sidecar兩種模式支持多種消息格式對日志進一步處理,比如篩選過濾、增加自定義字段1 13種資源實例動態創建、更新、釋放,監控平臺穩定性2
10、5種流量探針,監控流量入口服務穩定性3 10+集群配置化監控覆蓋獨享實驗環境構建-多維度監控指標workload穩定性觀測鏈路workloadpvcconfigmapsecretfilebeatserviceingressLVStcpcheckhttpcheckhttpscheck1 動態靜態監控相結合,實現集群覆蓋的可配置化2自適應前端自動化框架,易覆蓋,好維護3 case穩定易于維護和擴展04思考和解決 標準化解決方案標準化解決方案沒有工具沒有方案要怎么實施實驗工具標準方案服務化標準化解決方案-實驗工具標準化解決方案-實驗工具混沌實驗平臺標準化解決方案-實驗工具添加集群kubeconfig
11、創建實驗資源場景直積實驗規劃爆破半徑任務運行分布式并行結果觀測標注和回收創建場景場景調試精細定位(精準、集中控制)穩定性測試標準化解決方案-實驗工具模板化的實驗設計穩定實驗場景規范化實驗運行白屏化的編排異常注入任務,降低了異常注入使用的門檻??梢酝ㄟ^平臺直接編排異常行為,保證了異常注入的一致性和有效性??焖俚尿炞C整體平臺&業務系統整體對于異常的捕獲以及處理能力。驗證整體系統影響范圍情況。標準化解決方案-實驗方案建立假設 架構梳理 故障庫構建穩態 功能穩態 性能穩態擾動注入 場景爆炸 最小半徑對比觀測 穩態維持 故障恢復集群側集群側+運維側運維側+業務側業務側標準化解決方案-實驗方案集群運維集群
12、擴縮容調度啟停資源驅逐KubeclusterApisevercontroller-managerschedulerEtcdWorker節點磁盤 網絡cpu 內存 進程宕機 停止調度 驅逐系統組件CNI CRI CSICert filebeatarkit cattle業務應用發布策略健康檢查hpa網絡策略Pod異常、進程異常流量突增依賴資源CephpolefsHarbor集群組件能力集群運維工具混沌實驗工具業務自動化業務性能測試業務監控集群監控標準化解決方案-實驗方案05總結&展望總結&展望混沌實驗實驗環境觀測系統標準規范覆蓋多種部署架構完備系統觀測鏈路智能自動弱點識別感謝聆聽關注QECon公眾號