關于我們
更多關于云原生的案例和知識,可關注同名【騰訊云原生】公眾號~
福利:
①公眾號后臺回復【手冊】,可獲得《騰訊云原生路線圖手冊》&《騰訊云原生最佳實踐》~
②公眾號后臺回復【系列】,可獲得《15個系列100+篇超實用云原生原創干貨合集》,包含Kubernetes 降本增效、K8s 性能優化實踐、最佳實踐等系列,
③公眾號后臺回復【白皮書】,可獲得《騰訊云容器安全白皮書》&《降本之源-云原生成本管理白皮書v1.0》
④公眾號后臺回復【光速入門】,可獲得騰訊云專家5萬字精華教程,光速入門Prometheus和Grafana,
作者
呂朋釗,騰訊業務運維高級工程師,曾負責 QQ 相冊、小世界業務的存盤接入層運維,現負責 AI 業務的運維,
背景
QQ 相冊是 QQ 產品中為用戶提供圖片存盤,分享等功能的成熟產品,自上線以來,一直為用戶提供穩定快速的圖片上傳和下載服務,作為社交業務組內第一個上 TKE 的平臺,相冊在過去一年多時間里總結出了一套適合自身的 TKE 上云實踐方案,
服務場景
自相冊全面改造上云之后,新的架構如下:

問題
隨著相冊各模塊已基本實作容器化,也暴露出了不少使用上的問題,

資源利用率提升與 CICD 優化
1. 資源利用率提升
復用集群、獨立集群遷移到共享集群
復用集群因為是使用老舊機器搭建的 K8s 集群,在使用上會有比較多的損耗,而且經常會有資源搶占嚴重的情況,而獨立集群因為母機規格不夠高,會造成一定程度的資源浪費,基于這兩點,把復用集群和獨立集群的系統遷移到復用集群是較好的選擇,會發現,遷移后的資源利用率和錯誤碼次數都得到了明顯的改善,

同時使用 HPA 彈性擴縮容,根據 CPU 利用率,讓資源在業務低峰期得到釋放,高峰期自動擴容,可以更好地節約成本,

2. 部署策略優化
因為當前基于一個可用區的命名空間建立一個 workload 的方案沒有考慮到單可用區的容災,所以我們在一個集群的多個可用區都建立了 workload,同時在其他地域也建立了容災的 workload,當有機房或者地域級別的故障發生時,可以自動切換到其他機房或者地域,

3. 七彩石配置
每個應用都使用七彩石作為配置管理,在 TKE 場景中,配置變更會更改 workload yaml 中的 annotations 欄位,而 downward api 會把 annotations 的值作為 volumn 注入到容器的七彩石目錄,智研之后還會呼叫容器內部的 configuration-reload.sh 從而實作配置變更,此程序因為只涉及修改 annotations,并不會令pod和容器重建,一個 pod 的整個配置變更程序只需要幾秒,

4. ClickHouse 日志查詢
隨著相冊業務日志量的增加,日志存盤成本也在升高,因此我們把日志遷移到了 ClickHouse,在可接受的影響范圍內,ClickHouse 所需資源只需要 ES 的30%-50%,
5. Tget 撥測
業務監控方面結合 Tget 撥測,對 oc 域名和源站域名都做了撥測告警,提高針對 vip 被封禁或者網路導致問題的回應速度,

6. 智研一站式接入
相冊正在接入智研一站式開發,使用智研提供的從需求-開發-測驗-發布上線-線上運營的研發全生命周期管理服務,讓相冊 CICD 可以更好地提高效率,
運營開發能力
1. 告警分析手機端自助剔除
結合智研的告警分析回呼介面,可以手動在企業微信界面上剔除某臺機器在北極星的系結,


2. 質量分分析
針對平常監控不到的新錯誤碼引起的例外失敗率升高,質量分分析工具可以讓運維人員快速知道當前是由哪個錯誤碼引起的質量降低,


云原生成熟度提分
1. 業務穩定是第一位
在云原生提分實踐程序中,發現很多模塊的瓶頸并不是 CPU,而是流量或者記憶體,但是目前云原生的計算方式只計算 CPU,所以制定 HPA 擴縮容策略時需要綜合各維度去考慮,
2. 降低 request 值
對于某些流量型的模塊如 http、preupload和 prxoy,可以把 workoad 的 request 的值適當降低,這樣可以讓 CPU 利用率的提升有立竿見影的效果,需要結合壓力測驗來確認 request 降低后 CPU 不會成為瓶頸,
小結
隨著相冊的 TKE 業務從其他平臺轉到共享集群,結合部署優化策略和運營開發能力,總結如下:
-
云原生成熟度有了顯著的提升,
-
相冊平臺累計使用 TKE 規模達5萬+核,
3. 打通智研 CICD 流程,顯著提升日常開發和運維效率,
【騰訊云原生】云說新品、云研新術、云游新活、云賞資訊,掃碼關注同名公眾號,及時獲取更多干貨!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/469831.html
標籤:其他

