本文介紹控制台訪問叢集異常問題的問題現象、問題原因和解決方案。例如,當前叢集APIServer請求異常,訪問容器組日誌時報錯API Server請求異常,當前帳號未被授予該操作所需的叢集RBAC許可權,當前帳號未被授予該操作所需的RAM許可權。
當前叢集API Server請求異常ErrorQueryClusterNamespace
或APIServer.500
問題現象
當您在控制台訪問叢集資源時,出現報錯“當前叢集APIServer請求異常”,錯誤碼:ErrorQueryClusterNamespace
或APIServer.500
。
問題原因
由API Server負載平衡配置或者狀態異常導致Container Service管控與叢集API Server之間串連失敗。
解決方案
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面中,單擊目的地組群。
在叢集管理頁,單擊基本資料頁簽,然後單擊API Server 負載平衡(SLB)後面的連結,跳轉到負載平衡管理主控台。
如果介面提示負載平衡ID不存在,則說明APIServer的Server Load Balancer執行個體被刪除或釋放。叢集不可恢複,您需要重新建立叢集。詳細資料,請參見建立ACK託管叢集。
否則,繼續執行下一步。
查看該Server Load Balancer執行個體的狀態是否為運行中。
如果否,檢查執行個體是否處於欠費停止(隨用隨付執行個體)或到期鎖定狀態(訂用帳戶執行個體)。請先完成續約,然後重新啟用執行個體。關於負載平衡的欠費說明,請參見欠費說明。
如果是,繼續執行下一步。
查看該Server Load Balancer執行個體的監聽,確認前端和後端是否均存在TCP:6443的監聽,且運行狀態是否為運行中。
查看上述監聽的健全狀態檢查狀態是否為正常。
如果否,則說明APIServer的負載平衡後端異常。
對於託管版叢集,請提交工單諮詢。
對於專有版叢集,請參考如下內容排查。如問題仍未解決,請提交工單處理。
在Container Service管理主控台的叢集詳情頁面,單擊叢集資源頁簽。單擊Master執行個體後面的連結,跳轉至ECS管理主控台,檢查ECS執行個體是否處於運行中狀態。
說明請對所有Master執行個體均做此檢查。
通過ECS管理主控台遠程登入Master節點,查看APIServer容器是否正常運行。
登入Master節點,請參見ECS遠端連線方式概述。
登入Master節點後,可以通過以下方式檢查APIServer容器的運行狀態。
對於使用Docker運行時的叢集,執行
docker ps | grep kube-apiserver
命令,根據命令的輸出,使用docker inspect
命令檢查容器狀態。對於使用Containerd運行時的叢集,執行
crictl ps | grep kube-apiserver
命令,根據命令的輸出,使用crictl inspect
命令檢查容器狀態。
如果是,繼續執行下一步。
查看上述監聽是否啟用了存取控制。
如果是,則說明APIServer的負載平衡監聽存取控制白名單未正確配置。在存取控制策略中將位址區段
100.104.0.0/16
添加到白名單,該位址區段為ACK管控內部訪問APIServer的請求來源位址區段。有關存取控制的詳細資料,請參見存取控制。如果否,繼續執行下一步。
若以上均不符合,請提交工單諮詢。
訪問容器組日誌時報錯API Server請求異常
當前帳號未被授予該操作所需的叢集RBAC許可權ForbiddenQueryClusterNamespace
或APISERVER.403
問題現象
當您存取控制台時,出現報錯“當前帳號未被授予該操作所需的叢集RBAC許可權”,錯誤碼:ForbiddenQueryClusterNamespace
或APISERVER.403
。
問題原因
您使用的帳號未被授予當前操作所需的叢集RBAC許可權。
解決方案
使用阿里雲帳號或者具有管理員權限的帳號登入Container Service管理主控台,在左側導覽列中選擇授權管理。
在子帳號頁簽尋找出現報錯的使用者名稱,單擊使用者名稱右側的系統管理權限。
在許可權管理頁面,單擊添加許可權,選擇對應叢集、命名空間和許可權管理,單擊提交授權。
當前帳號未被授予該操作所需的RAM許可權StatusForbidden
問題現象
當您存取控制台時,出現報錯“當前帳號未被授予該操作所需的RAM許可權”,錯誤碼:StatusForbidden
。
問題原因
您使用的帳號未被授予當前操作所需的RAM許可權。
解決方案
使用阿里雲帳號或者具有RAM許可權的帳號登入Resource Access Management控制台。
根據錯誤提示頁面的CS資訊為您的帳號添加相應的授權,例如cs:DescribeKubernetesVersionMetadata。詳細操作,請參見使用RAM授予叢集及雲資源存取權限。