本文介紹注入Sidecar后,健康檢查失敗或者無效的問題現象、問題原因和解決方案。
問題現象
注入Sidecar后,健康檢查失敗或者無效。本文以TCP健康檢查端口8087為例,啟用mTLS后,在容器服務管理控制臺的容器組詳情頁面事件頁簽下,未顯示8087端口的健康檢查信息。
問題原因
在服務網格開啟mTLS后,kubelet向Pod發送的健康檢查請求被Sidecar攔截,而kubelet沒有對應的TLS證書,導致健康檢查失敗。
解決方案
配置端口健康檢查流量免于經過Sidecar代理,具體操作步驟如下:
配置端口健康檢查流量免于經過Sidecar代理
登錄ASM控制臺。
在左側導航欄,選擇 。
在網格管理頁面,找到待配置的實例,單擊實例的名稱或在操作列中單擊管理。
在網格詳情頁面左側導航欄,選擇 。
在命名空間頁簽下,選中相應的命名空間,單擊按端口或地址來啟用/禁用Sidecar代理頁簽,配置相應參數。
參數配置說明如下:
參數
說明
設置端口使入口流量免于經過Sidecar代理
配置入口流量免于經過Sidecar代理的端口,本文配置為8087。
設置端口使出口流量免于經過Sidecar代理
配置出口流量免于經過Sidecar代理的端口,本文配置為8087。
配置完成后,單擊更新設置。
查看健康檢查結果
登錄容器服務管理控制臺。
- 在控制臺左側導航欄,單擊集群。
- 在集群列表頁面,單擊目標集群名稱或者目標集群右側操作列下的詳情。
- 在集群管理頁左側導航欄,選擇 。
單擊目標容器組名稱或右側的詳情,進入容器組詳情頁面。
在容器組詳情頁面,單擊事件頁簽。
如下圖所示,端口8087的健康檢查生效。
文檔內容是否對您有幫助?