阿里雲容器計算服務ACS支援容器智能營運平台提供的定時巡檢功能。您可以設定巡檢的定時規則,定期檢查叢集存在的風險預警。本文介紹叢集巡檢的常見風險預警以及解決方案。
叢集巡檢項及預警風險
關於如何使用叢集巡檢功能,請參見使用叢集診斷。
根據叢集配置,具體巡檢項可能稍有不同。實際結果請以檢查報告結果為準。
檢查類型 | 巡檢項 | 預警風險 |
資源配額 ResourceQuotas | ||
SLB後端伺服器配額檢查 | ||
SLB可監聽數配額檢查 | ||
資源水位 ResourceLevel | SLB頻寬使用率檢查 | |
SLB最大串連數檢查 | ||
版本認證 Versions&Certificates | 叢集Kubernetes版本檢查 | |
叢集風險 ClusterRisk | API Server SLB執行個體存在 | |
API Server SLB執行個體狀態 | ||
API Server SLB 6443連接埠監聽配置 | ||
API ServerSLB存取控制配置 | ||
DNS 服務 ClusterIP | ||
DNS 服務後端服務端點 | ||
多個Service複用同一個SLB同一個連接埠 |
VPC內SLB配額緊張
異常影響:VPC內SLB剩餘配額小於5個。每個Loadbalancer類型的Kubernetes Service建立一個SLB執行個體,SLB配額耗盡後,新建立的Loadbalancer類型Service將無法正常工作。
解決方案:預設情況下一個使用者可以保留60個SLB執行個體。如需超過預設值,請到配額平台提交申請擴容。關於配額限制,參見配額限制。
SLB後端伺服器配額緊張
異常影響:SLB後端可掛載的ECS數量有限制。當Loadbalancer類型的Service規模較大時,Pod分布在多個ECS上,當ECS數量超過SLB後端可掛載的ECS數量限制時,超出部分的ECS將無法配置到SLB上。
解決方案:預設情況下一個SLB執行個體可以掛載200個後端伺服器。如需超過預設值,請到配額平台提交申請擴容。關於配額限制,參見配額限制。
SLB可監聽數配額緊張
異常影響:SLB可配置的監聽數量有限,每個Loadbalancer類型的Service,其監聽的每個連接埠對應一個SLB的監聽。當連接埠數達到SLB監聽上限時,超出部分的連接埠將無法正常提供服務。
解決方案:預設情況下一個SLB執行個體可以添加50個監聽。如需超過預設值,請到配額平台提交申請擴容。關於配額限制,參見配額限制。
SLB執行個體數配額檢查
異常影響:檢查SLB執行個體剩餘配額是否小於5個。每個Loadbalancer類型的Kubernetes Service建立一個SLB執行個體,SLB配額耗盡後,新建立的Loadbalancer類型Service無法正常工作。
解決方案:預設情況下一個使用者可以保留60個SLB執行個體,如需超過預設值,請到配額平台提交申請擴容。
SLB頻寬使用率過高
異常影響:過去三天網路流出頻寬的最大值超過上限的80%以上。當頻寬達到上限後,可能產生SLB上的丟包,導致請求抖動、延遲。
解決方案:若SLB執行個體網路頻寬使用率過高,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
SLB最大串連數過高
異常影響:過去三天最大串連數達到上限的80%以上。當串連數達到上限後,無法建立新串連,導致用戶端無法訪問。
解決方案:若過去三天內SLB執行個體串連數過高,達到最大串連數的80%。超過SLB串連數最大值會導致用戶端無法訪問。為避免業務受損,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
SLB建立串連速率過高
異常影響:過去三天最大建立串連速率達到上限的80%以上。當建立串連速率達到上限後,短時間內無法建立新串連,導致用戶端無法訪問。
解決方案:若過去三天內SLB執行個體建立串連速率過高,達到每秒最大建立串連數的80%。建立串連數達到SLB每秒最大建立串連數的最大值會導致用戶端無法訪問。為避免業務受損,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
SLB QPS過高
異常影響:過去三天最大QPS達到上限的80%以上。當QPS達到上限後,可能導致用戶端無法訪問。
解決方案:若過去三天內SLB執行個體QPS過高,達到最大QPS的80%。超過SLB QPS最大值會導致用戶端無法訪問。為避免業務受損,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
SLB建立串連速率檢查
異常影響:檢查SLB過去三天最大建立串連速率是否達到上限的80%。建立串連速率達到上限後,短時間內無法建立新串連,可能導致用戶端無法訪問。
解決方案:SLB執行個體建立串連速率過高,為避免業務受損,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
API Server SLB執行個體存在
異常影響:檢查叢集API ServerServer Load Balancer執行個體是否存在。如果沒有負載平衡,只有一個API Server執行個體在運行,API Server就成了單點故障(SPOF)。一旦這個執行個體出現故障,整個叢集將無法工作。
解決方案:配置負載平衡器。
API Server SLB執行個體狀態
異常影響:所有叢集操作(如Pod調度、服務部署、擴容縮容等)都會中斷或延遲。叢集內部服務發現機制依賴於 API Server,如果SLB異常可能導致服務發現失敗。
解決方案:確認SLB執行個體的配置是否正確,包括後端伺服器的執行個體配置、監聽連接埠、健全狀態檢查機制等。
API Server SLB執行個體6443連接埠監聽配置
異常影響:檢查叢集API Server SLB 6443連接埠監聽配置。所有通過SLB訪問API Server的請求會失敗,包括kubectl操作、Dashboard訪問、其他服務對API的請求等。叢集內部服務可能無法通過服務名解析其他服務,因為這些請求也依賴於API Server。
解決方案:確認SLB執行個體的配置是否正確,包括後端伺服器的執行個體配置、監聽連接埠、健全狀態檢查機制等。確認6443連接埠的監聽器已配置,並且使用的協議是HTTPS。
API Server SLB存取控制配置
異常影響:檢查叢集API ServerSLB存取控制配置。叢集管理和操作(如節點管理、Pod調度、服務部署)會出現中斷或受限的情況。叢集內的服務依賴於API Server進行通訊和服務發現,存取控制異常會導致這些依賴的請求失敗。
解決方案:檢查SLB執行個體的存取控制配置(安全性群組、ACL等)。確認允許合法的IP地址和連接埠訪問API Server,特別是6443連接埠。確認SLB和API Server之間的TLS/SSL配置正確,認證有效且沒有到期。
DNS服務 ClusterIP
異常影響:檢查叢集DNS服務的Cluster IP是否正常分配,叢集DNS服務異常會造成叢集功能異常,影響業務。
解決方案:檢查Kubernetes叢集的網路外掛程式和配置,看是否有衝突或錯誤。重新部署DNS服務,如CoreDNS,以確保其正確配置和分配。
DNS服務後端服務端點
異常影響:檢查叢集DNS服務關聯的後端DNS伺服器數,如果為0,DNS服務將無法使用。
解決方案:檢查CoreDNS的設定檔(Corefile)是否正確配置。確保forward或proxy指令正確地指向了一組有效後端DNS伺服器。
SLB QPS檢查
異常影響:檢查SLB過去三天最大QPS是否達到上限的80%。QPS達到上限後,可能導致用戶端無法訪問。
解決方案:SLB執行個體QPS過高,為避免業務受損,您需要提升執行個體規格。具體操作,請參見使用指定的SLB執行個體。
叢集版本過低
異常影響:叢集版本即將或者已經超出支援期限。
解決方案:若叢集版本即將或者已經超出支援期限,請您儘快升級叢集。
多個Service複用同一個SLB同一個連接埠
異常影響:如果多個Service複用同一個SLB的同一個連接埠,會導致服務異常。
解決方案:請修改或刪除衝突的Service,確保多個Service複用同一個SLB時使用不同的連接埠。