今天沒有龍捲風(異常的高併發請求),故障卻依然出現,問題非常奇怪。
某種異常情況會造成短時間內, k8s 叢集中大量 pod (超過60%)因健康檢查失敗而處於 CrashLoopBackOff 狀態,健康檢查失敗的錯誤是 connection refused
Liveness probe failed: Get "http://192.168.238.204:3501/v1.0/healthz": dial tcp 192.168.238.204:3501: connect: connection refused
Readiness probe failed: Get "http://192.168.238.204:3501/v1.0/healthz": dial tcp 192.168.238.204:3501: connect: connection refused
今天 k8s 叢集因此翻船3次,分別是
- 早上
10:00-10:15
- 中午
11:48-12:07
- 下午
14:20-14:35
第2次翻船後我們非常緊張,如果中午找不到有效的避免翻船的緊急措施,下午不知要翻多少次,而當前我們對這個從天而降的突發問題毫無頭緒。
中午我們想到了一招,既然1艘船扛不住,那我們用2艘,2艘同時翻的可能性小很多,而且翻掉的1艘過段時間自己也能恢復,即使2艘也扛不住,那故障的影響也會減小。
就在我們剛部署好新的叢集,14:20 左右開始又翻船了,加入新船後恢復了正常。
從2艘船並駕齊驅的情況看,我們相信可以扛住。
非常抱歉!這段時間的頻繁故障給大家帶來了很大的麻煩,請大家諒解!
Kubernetes 叢集相關資訊:
- 使用阿里雲伺服器自己搭建
- k8s 版本是 1.23.3
- 網路用的是 calico