k8s異常pod處理

自動處理:

靈活運用readinessProbe和livenessProbe探針,對於常規異常(如:服務沒有響應,健康檢查失敗)做到自動處理,業務日誌記錄異常

  • readinessProbe 主要是用來探測服務是否可用,如果不可用,從service流量負載中刪除
  • livenessProbe 探測容器是否健康,如果不健康則重啓服務

人工介入

探針沒有關注到的異常,可以通過監控告警,及時發現問題(如cpu負載過高等),人工介入。此時可以通過下面操作,完成流量切換和保留現場

修改異常pod的labels,如:

kubectl -n test edit pod data-message-7974fdd4db-zh692

修改:

  labels:
    cluster: data-message

  labels:
    cluster: data-message-err

原理:k8s提供的service負載均衡是通過labels來選擇同一個ns下的pod作爲endpoints。手動更改異常pod label可以做到切除用戶流量,並保留異常pod。同時k8s會自動起一個新的pod,補充剛剛剔除的異常pod

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章