Container Compute Service (ACS) コンソールからクラスターにアクセスする際に発生する API サーバーの例外、不足している RBAC 権限、および不足している RAM 権限を解決します。
API サーバーリクエスト例外
症状
コンソールでクラスターリソースにアクセスすると、「現在のクラスターで API サーバーリクエスト例外が発生しました」といったエラーメッセージが表示されます。エラーコードは ErrorQueryClusterNamespace または APIServer.500 です。エラー ダイアログボックスに「現在のクラスターの API サーバーへのリクエスト処理中にエラーが発生しました。Kubernetes コントロールプレーンに影響を及ぼしている問題をトラブルシューティングするか、後ほど再試行してください」と表示されます。詳細なエラーメッセージは failed to query access namespace for user (User ID) error is an error on the server ("Get \"https://192.168.*.*:10885/api/v1/namespaces?limit=300\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)") has prevented the request from succeeding (get namespaces)、エラーコードは ErrorQueryClusterNamespace、リクエスト ID は 5D6A5DAF-0AB6-5EEB-*** です。
原因
無効な SLB 構成または異常な SLB インスタンスステータスにより、ACS コントロールプレーンがクラスター API サーバーに接続できません。
解決方法
-
ACS コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
-
クラスターリスト ページで、対象のクラスターをクリックします。
-
クラスター詳細ページで、クラスターリソース タブをクリックします。次に、API サーバー SLB の横にあるリンクをクリックして、Server Load Balancer (SLB) コンソールに移動します。
-
ページに 指定された SLB ID は存在しません というメッセージが表示される場合、API サーバー用の SLB インスタンスが削除またはリリースされています。このクラスターは回復できません。ACS クラスターを作成して置き換えてください。
-
それ以外の場合は、次の手順に進みます。
-
-
SLB インスタンスのステータスが 実行中 であることを確認します。
-
そうでない場合、従量課金インスタンスでは料金滞納により一時停止されているか、サブスクリプションの期限切れによりロックされている可能性があります。インスタンスを更新して再度有効化してください。料金滞納について。
-
そうであれば、次のステップに進んでください。
-
-
SLB インスタンスの TCP:6443 リスナーがフロントエンドとバックエンドの両方で構成されており、その ステータス が 実行中、ヘルスチェックステータス が Normal、アクセスの制御 が ホワイトリスト に設定されていることを確認します。
-
そうでない場合、API サーバー SLB インスタンスのリスナーが変更されています。
-
リスナーが存在するが 停止 状態の場合、該当のリスナーを選択して 有効化 をクリックします。
-
リスナーが存在しない場合、チケットを送信してサポートを依頼してください。
-
-
条件を満たしている場合は、次の手順に進みます。
-
-
上記リスナーの ヘルスチェックステータス が 正常 であることを確認します。
-
そうでない場合、API サーバーの SLB インスタンスのバックエンドサーバーが正常ではありません。チケットを送信してサポートを依頼してください。
-
正常な場合は、次の手順に進みます。
-
-
リスナーでアクセスの制御が有効になっているか確認します。
-
有効になっている場合、CIDR ブロック
100.104.0.0/16(ACS コントロールプレーンの送信元範囲)をホワイトリストに追加します。アクセスの制御。 -
有効になっていない場合は、次の手順に進みます。
-
-
問題が解決しない場合は、チケットを送信してサポートを依頼してください。
Pod ログの API サーバー例外
クラスターリソースへのアクセスは可能だが、Pod ログへのアクセスのみ失敗する場合は、以下の手順を実行してください。
-
Pod ステータスが 実行中 であるか確認します。そうでない場合は、Pod の問題のトラブルシューティングを参照してください。
-
セキュリティグループルールで TCP ポート 10250 経由の VPC インバウンドトラフィックが許可されているか確認します。このトラフィックがブロックされている場合は、セキュリティグループルールを追加してください。
-
問題が解決しない場合は、チケットを送信してサポートを依頼してください。
クラスター RBAC 権限の不足
症状
コンソールにアクセスすると、「現在のアカウントには操作を実行するために必要なクラスター RBAC 権限がありません。プライマリアカウントまたは権限管理者に連絡し、権限を付与してもらってください」というエラーメッセージが表示されます。エラーコードは ForbiddenQueryClusterNamespace または APISERVER.403 です。根本的なエラーメッセージは Forbidden query namespaces です。
原因
ご利用のアカウントに操作に必要なクラスター RBAC 権限がありません。
解決方法
-
Alibaba Cloud アカウントまたは管理者アカウントで Container Compute Service コンソールにログインします。左側のナビゲーションウィンドウで、承認 を選択します。
-
RAM ユーザー タブで、影響を受けているユーザーを見つけ、**[操作]** 列の アクセス権限の管理 をクリックします。
-
権限管理 ページで、ロール権限の追加 をクリックし、対象のクラスターと名前空間を選択して、事前定義済みのロールを選択し、送信 をクリックします。
RAM 権限の不足
症状
コンソールにアクセスすると、エラー ダイアログボックスに「現在のアカウントには操作を実行するために必要な RAM 権限がありません。プライマリアカウントまたは権限管理者に連絡し、権限を付与してもらってください」と表示されます。エラーコードは StatusForbidden で、必要な権限は cs:DescribeKubernetesVersionMetadata です。
原因
ご利用のアカウントに操作に必要な RAM 権限がありません。
解決方法
-
Alibaba Cloud アカウントまたは RAM 権限を持つアカウントを使用して、RAM コンソールにログインします。
-
エラーメッセージに示されている権限(例:cs:DescribeKubernetesVersionMetadata)を付与します。カスタム RAM ポリシーの作成。