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