Resolva exceções do API server, permissões RBAC ausentes e permissões RAM ausentes ao acessar um cluster pelo console do Container Compute Service (ACS).
Exceção de solicitação do API server
Sintomas
Ao acessar recursos do cluster no console, o sistema exibe uma mensagem de erro como "An API server request exception occurred for the current cluster". O código de erro é ErrorQueryClusterNamespace ou APIServer.500. Uma caixa de diálogo Error aparece com a mensagem "An error occurred while processing your request to the API server of the current cluster. Troubleshoot the issue that affects the Kubernetes control plane or try again later." A mensagem de erro detalhada indica falha ao consultar o namespace de acesso do usuário (User ID), com erro no servidor ("Get \"https://192.168..:10885/api/v1/namespaces?limit=300\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)") que impediu o sucesso da solicitação (get namespaces). O código de erro é ErrorQueryClusterNamespace e o ID da solicitação é 5D6A5DAF-0AB6-5EEB-***.
Causa
O plano de controle do ACS não consegue se conectar ao API server do cluster devido a uma configuração inválida do SLB ou a um status anormal da instância do SLB.
Solução
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no cluster desejado.
-
Na página de detalhes do cluster, clique na aba Cluster Resources. Em seguida, clique no link ao lado de API server SLB para acessar o console do Server Load Balancer (SLB).
Se a página exibir a mensagem The specified SLB ID does not exist, a instância do SLB do API server foi excluída ou liberada. Não é possível recuperar o cluster. Crie um cluster ACS para substituí-lo.
Caso contrário, prossiga para a próxima etapa.
-
Verifique se o Status da instância do SLB está Running.
Se não estiver, a instância pode estar suspensa por pagamentos em atraso (pagamento conforme o uso) ou bloqueada devido a uma assinatura expirada. Renove e reative a instância. Consulte Pagamentos em atraso.
Se estiver, prossiga para a próxima etapa.
-
Confirme se o listener TCP:6443 da instância do SLB está configurado tanto para frontend quanto para backend, se o Status está Running, se o Health Check Status está Normal e se o Access Control está definido como whitelist.
-
Se não estiver, o listener da instância do SLB do API server foi modificado.
Se o listener existir, mas estiver no estado Disable, selecione-o e clique em Enable.
Se o listener não existir, envie um ticket para obter assistência.
Se estiver tudo correto, prossiga para a próxima etapa.
-
-
Verifique se o Health Check Status do listener mencionado acima está Healthy.
Se não estiver, os servidores backend da instância do SLB do API server não estão íntegros. envie um ticket para obter assistência.
Se estiver, prossiga para a próxima etapa.
-
Verifique se o controle de acesso está ativado para o listener.
Em caso afirmativo, adicione o bloco CIDR
100.104.0.0/16(faixa de origem do plano de controle do ACS) à lista de permissões. Consulte Controle de acesso.Caso contrário, prossiga para a próxima etapa.
Se o problema persistir, envie um ticket para obter assistência.
Exceção do API server para logs de pod
Se apenas o acesso aos logs do pod falhar e outros recursos do cluster permanecerem acessíveis, siga estas etapas.
Verifique se o status do pod está Running. Se não estiver, consulte Solução de problemas de pods.
Confirme se as regras do grupo de segurança permitem tráfego de entrada na VPC pela porta TCP 10250. Adicione uma regra de grupo de segurança se esse tráfego estiver bloqueado.
Se o problema persistir, envie um ticket para obter assistência.
Permissões RBAC do cluster ausentes
Sintomas
Ao acessar o console, o sistema exibe o erro "The current account does not have the required cluster RBAC permissions to perform the operation. Contact the primary account or a permissions administrator to grant the permissions.". O código de erro é ForbiddenQueryClusterNamespace ou APISERVER.403. A mensagem de erro subjacente é Forbidden query namespaces.
Causa
Sua conta não possui as permissões RBAC do cluster necessárias para a operação.
Solução
Faça login no console do Container Compute Service com uma conta Alibaba Cloud ou uma conta de administrador. No painel de navegação à esquerda, escolha Authorizations.
Na aba RAM Users, localize o usuário afetado e clique em Modify Permissions na coluna Actions.
Na página Permission Management, clique em Add Permissions, selecione o cluster e o namespace desejados, escolha uma função predefinida e clique em Submit.
Permissões RAM ausentes
Sintomas
Ao acessar o console, a caixa de diálogo Error exibe "The current account does not have the required RAM permissions to perform the operation. Contact the primary account or a permissions administrator to grant the permissions.". O código de erro é StatusForbidden e a permissão necessária é cs:DescribeKubernetesVersionMetadata.
Causa
Sua conta não possui as permissões RAM necessárias para a operação.
Solução
Faça login no console do RAM usando uma conta Alibaba Cloud ou uma conta com permissões RAM.
Conceda a permissão indicada na mensagem de erro, como cs:DescribeKubernetesVersionMetadata. Consulte Criar uma política RAM personalizada.