全部產品
Search
文件中心

:控制台訪問叢集異常問題排查

更新時間:Jun 19, 2024

本文介紹控制台訪問叢集異常問題的問題現象、問題原因和解決方案。例如,當前叢集APIServer請求異常,訪問容器組日誌時報錯API Server請求異常,當前帳號未被授予該操作所需的叢集RBAC許可權,當前帳號未被授予該操作所需的RAM許可權。

當前叢集APIServer請求異常ErrorQueryClusterNamespaceAPIServer.500

問題現象

當您在控制台訪問叢集資源時,出現報錯“當前叢集APIServer請求異常”,錯誤碼:ErrorQueryClusterNamespaceAPIServer.500

問題原因

由APIServer負載平衡配置或者狀態異常導致Container Service管控與叢集APIServer之間串連失敗。

解決方案

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面中,單擊目的地組群。

  3. 在叢集管理頁,單擊叢集資源頁簽,然後單擊APIServer負載平衡(SLB)後面的連結,跳轉到負載平衡管理主控台

    • 如果介面提示負載平衡ID不存在,則說明APIServer的Server Load Balancer執行個體被刪除或釋放。叢集不可恢複,您需要重新建立叢集。詳細資料,請參見建立Kubernetes託管版叢集

    • 否則,繼續執行下一步。

  4. 查看該Server Load Balancer執行個體的狀態是否為運行中

    • 如果否,檢查執行個體是否處於欠費停止(隨用隨付執行個體)或到期鎖定狀態(訂用帳戶執行個體)。請先完成續約,然後重新啟用執行個體。關於負載平衡的欠費說明,請參見欠費說明

    • 如果是,繼續執行下一步。

  5. 查看該Server Load Balancer執行個體的監聽,確認前端和後端是否均存在TCP:6443的監聽,且運行狀態是否為運行中123

    • 如果否,說明APIServer負載平衡監聽被修改。

      • 若監聽存在,但處於停止狀態,請選擇該項監聽,然後單擊啟動

      • 若監聽不存在,請參考如下操作處理。

        • 對於託管版叢集,請提交工單諮詢。

        • 對於專有版叢集,請確保將叢集Master節點都添加到預設伺服器組,然後建立前端、後端均為TCP:6443的監聽,監聽後端設定為預設伺服器組,並啟用該監聽。添加監聽的具體操作,請參見添加TCP監聽

    • 如果是,繼續執行下一步。

  6. 查看上述監聽的健全狀態檢查狀態是否為正常

    • 如果否,則說明APIServer的負載平衡後端異常。

      • 對於託管版叢集,請提交工單諮詢。

      • 對於專有版叢集,請參考如下內容排查。如問題仍未解決,請提交工單處理。

        • Container Service管理主控台的叢集詳情頁面,單擊叢集資源頁簽。單擊Master執行個體後面的連結,跳轉至ECS管理主控台,檢查ECS執行個體是否處於運行中狀態。

          說明

          請對所有Master執行個體均做此檢查。

        • 通過ECS管理主控台遠程登入Master節點,查看APIServer容器是否正常運行。

          1. 登入Master節點,請參見串連方式概述

          2. 登入Master節點後,可以通過以下方式檢查APIServer容器的運行狀態。

            • 對於使用Docker運行時的叢集,執行docker ps | grep kube-apiserver命令,根據命令的輸出,使用docker inspect命令檢查容器狀態。

            • 對於使用Containerd運行時的叢集,執行crictl ps | grep kube-apiserver命令,根據命令的輸出,使用crictl inspect命令檢查容器狀態。

    • 如果是,繼續執行下一步。

  7. 查看上述監聽是否啟用了存取控制。

    • 如果是,則說明APIServer的負載平衡監聽存取控制白名單未正確配置。在存取控制策略中將位址區段100.104.0.0/16添加到白名單,該位址區段為ACK管控內部訪問APIServer的請求來源位址區段。有關存取控制的詳細資料,請參見存取控制

    • 如果否,繼續執行下一步。

  8. 若以上均不符合,請提交工單諮詢。

訪問容器組日誌時報錯API Server請求異常

若您在查看容器組日誌時遇到該問題,而叢集其他資源均可正常訪問,您可以按以下步驟排查。

  1. 查看容器組運行狀態是否為Running,若不是,請參見Pod異常問題排查

  2. 在節點列表中找到該容器組所在節點,單擊執行個體ID,跳轉到ECS管理主控台,單擊配置安全性群組規則83

  3. 檢查所有安全性群組規則,確認是否開放了來自VPC私網、目標連接埠為TCP/10250的入方向訪問,若未開放,請添加上述安全性群組規則。詳細資料,請參見添加安全性群組規則

  4. 若以上均不符合,請提交工單諮詢。

當前帳號未被授予該操作所需的叢集RBAC許可權ForbiddenQueryClusterNamespaceAPISERVER.403

問題現象

當您存取控制台時,出現報錯“當前帳號未被授予該操作所需的叢集RBAC許可權”,錯誤碼:ForbiddenQueryClusterNamespaceAPISERVER.403

問題原因

您使用的帳號未被授予當前操作所需的叢集RBAC許可權。

解決方案

  1. 使用阿里雲帳號或者具有管理員權限的帳號登入Container Service管理主控台,在左側導覽列中選擇授權管理

  2. 子帳號頁簽尋找出現報錯的使用者名稱,單擊使用者名稱右側的系統管理權限

  3. 許可權管理頁面,單擊添加許可權,選擇對應叢集、命名空間和許可權管理,單擊提交授權

當前帳號未被授予該操作所需的RAM許可權StatusForbidden

問題現象

當您存取控制台時,出現報錯“當前帳號未被授予該操作所需的RAM許可權”,錯誤碼:StatusForbidden

問題原因

您使用的帳號未被授予當前操作所需的RAM許可權。

解決方案

  1. 使用阿里雲帳號或者具有RAM許可權的帳號登入Resource Access Management控制台

  2. 根據錯誤提示頁面的CS資訊為您的帳號添加相應的授權,例如cs:DescribeKubernetesVersionMetadata。詳細操作,請參見為RAM使用者或RAM角色授予RAM許可權