As mensagens de erro do modo privado do Anthos consistem em um código de erro no formato APME1234
, em que 1234
é um número exclusivo, seguido por uma descrição do problema e uma sugestão de como corrigi-lo. Este documento lista todas essas mensagens
de erro.
APME1000 ImageAccessError
Esse erro indica que o componente que produziu o erro não encontrou uma ou mais das imagens necessárias no registro especificado.
Verifique se estas condições foram atendidas:
- As imagens necessárias existem no Container Registry.
- O registro pode ser acessado a partir da origem do erro.
- A estação de trabalho tem permissões READ e PULL no registro.
- A estação de trabalho tem o arquivo
${HOME}/.docker/config.json
e está configurada corretamente para acessar o registro.
APME1001 InvalidRegistryInputError
O valor da sinalização --private-registry
precisa estar em conformidade com o formato:
hostname[:port]/repository/location
e não pode começar com um esquema (como
https://
). O nome do host não pode ser localhost
ou 127.0.0.1
. O valor é
usado pelo Kubernetes para buscar imagens.
Valores de sinalização de exemplo:
fictional.registry.example/repository/location
fictional.registry.example:10443/repository/location
10.200.0.2/library
APME2000 KubeContextNotFoundError
Esse erro indica que não foi possível encontrar o kubecontext especificado.
Verifique se:
- O arquivo
KUBECONFIG
existe. - O arquivo
$HOME/.kube/config
existe quando a variável de ambienteKUBECONFIG
não é especificada. - O contexto existe no arquivo
KUBECONFIG
.
APME2001 UserClusterKubeconfigError
Esse erro indica que o kubeconfig do cluster de usuário não foi encontrado.
Verifique se:
- O namespace
cluster-CLUSTER_NAME
existe no cluster de administrador. - Os objetos de cluster existem no namespace
cluster-CLUSTER_NAME
. - O secret
CLUSTER_NAME-kubeconfig
existe no namespacecluster-CLUSTER_NAME
. - Você tem todas as permissões necessárias para acessar os objetos mencionados acima.
APME2002 ManagementCenterNotSchedulableError
Esse erro indica que a central de gerenciamento não pode ser programada para execução nos nós de um cluster.
Esse erro geralmente ocorre quando o cluster de administrador não tem nenhum nó de trabalho e, por padrão, o cluster não programa cargas de trabalho no nó do plano de controle por motivos de segurança.
Para corrigir esse problema:
[Preferencial] Adicione um NodePool de worker ao cluster de administrador.
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl apply -f <path/to/example-nodepool.yaml>
Exemplo YAML:
apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: clusterName: admin nodes: - address: <IP address of the worker node machine. e.g. 10.200.0.4>
Remova o taint do plano de controle dos nós do plano de controle, o que permitirá a execução de cargas de trabalho que não sejam do sistema nos nós do plano de controle.
OBSERVAÇÃO: considere os pontos negativos dessa solução:
Disponibilidade do plano de controle: a execução de cargas de trabalho extras aumenta a entropia nos nós do plano de controle. Se a máquina já está limitada por recursos, configurada incorretamente ou a carga de trabalho tem um comportamento inesperado, ela pode ter um impacto negativo no servidor da API Kubernetes.
Segurança: os contêineres não são um forte limite de segurança. Se uma carga de trabalho mal-intencionada sair do contêiner, ela poderá assumir o controle do plano de controle do cluster. Se o cluster estiver gerenciando outros clusters de usuário, o invasor poderá acessar as credenciais no cluster de administrador e ter controle sobre eles também.
Custo: o modo particular do Anthos não cobra pelos nós do plano de controle, desde que o taint
node-role.kubernetes.io/master:NoSchedule
esteja presente. Depois que você remover o taint e permitir que as cargas de trabalho do usuário sejam executadas nos nós do plano de controle, eles serão cobrados como qualquer outro nó. Consulte a página de preços para informações detalhadas.
Exemplo de comando para permitir que cargas de trabalho sejam executadas em todos os nós do plano de controle:
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl taint nodes --all node-role.kubernetes.io/master:NoSchedule-
APME2003 AdminClusterNotUpgradedError
Esse erro indica que o cluster de administrador precisa ser atualizado antes de fazer upgrade da central de gerenciamento do modo particular do Anthos.
O centro de gerenciamento na nova versão do modo particular do Anthos pode exigir a execução na nova versão do cluster de administrador.
Atualize o arquivo de configuração do cluster de administrador e execute o comando actl clusters baremetal upgrade
admin
para concluir o upgrade. Consulte
Como fazer upgrade do cluster de administrador
para ver instruções detalhadas.
APME3000 AISLoginClientValidationError
Para que os usuários acessem os clusters usando as credenciais federadas deles (autenticação OIDC), ADMIN_OIDC_KUBECONFIG precisa ser gerado pelos administradores.
ADMIN_ACTL_AUTH_LOGIN_CONFIG=admin-actl-auth-login-config.yaml
ADMIN_OIDC_KUBECONFIG=oidc-kubeconfig
actl auth login --login-config=${ADMIN_ACTL_AUTH_LOGIN_CONFIG} --cluster=admin --kubeconfig=${ADMIN_OIDC_KUBECONFIG}
${KUBECTL_ANTHOS_CONFIG}
é um arquivo de configuração de entrada transferido por download na
Central de gerenciamento, enquanto ${ADMIN_OIDC_KUBECONFIG}
é o local
do arquivo de saída kubeconfig. Não compartilhe o arquivo de configuração de saída mesmo com funcionários ou
administradores.
Para continuar, verifique os valores da entrada:
- Os valores das sinalizações
--login-config
e--kubeconfig
não estão vazios. - Os valores das sinalizações
--login-config
e--kubeconfig
não são iguais. - Os valores das sinalizações
--login-config
e--kubeconfig
têm caminhos de arquivo válidos.
Use a sinalização --skip-validation
para pular a validação.
APME3001 PermissionDeniedError
O erro indica permissões insuficientes para executar a ação.
Para resolver o problema, faça o seguinte:
Identifique o papel atribuído.
- Método 1: usar o Centro de gerenciamento
- Abra a guia
Identity and Access
na Central de gerenciamento. - Acesse a guia
Access
na telaIdentity and Access
para ver o papel atribuído.
- Abra a guia
- Método 2: usando o comando kubectl:
kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="{your account}")]}[{.roleRef.kind},{.roleRef.name}]{end}' Example: kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="foo@bar.com")]}[{.roleRef.kind},{.roleRef.name}]{end}' [ClusterRole,anthos-platform-admin-read-only]
- Método 1: usar o Centro de gerenciamento
Consulte os papéis de autorização predefinidos e as permissões para ver as permissões disponíveis para os papéis predefinidos.
Se um papel de privilégio mais baixo for atribuído e um papel de privilégio mais alto for necessário para executar uma determinada ação ou se o papel for atribuído incorretamente, solicite que os administradores verifiquem se o acesso pode ser concedido.
Se o papel tiver permissões suficientes para a ação de acordo com os papéis de autorização predefinidos e as permissões e
APME3001-PermissionDeniedError
for visto incorretamente, informe um bug emanthos-private-mode-feedback@google.com
.
APME3002 AuthMethodPreflightCheckError
O erro indica que a configuração do método de autenticação fornecida não pode passar na verificação de simulação.
Se você tiver fornecido uma configuração do OIDC:
- Verifique se o URL do provedor OIDC está correto.
- Verifique se a página de descoberta da configuração do OpenID
https://<your OIDC provider URL>/.well-known/openid-configuration
está acessível e contém uma configuração válida. - Se o provedor OIDC usar um certificado SSL autoassinado, insira-o no campo de certificado do provedor OIDC.
APME3003 UserCredentialNotFoundError
Esse erro indica que a ação solicitada não pode ser realizada sem uma credencial de usuário.
Para executar a solicitação, ative a autenticação ou peça ao administrador para ativar a autenticação. Consulte Como autenticar com o OIDC para configurar a autenticação do OIDC.
APME4000 VersionSupportDiscontinuedError
Esse erro indica que uma versão obsoleta de um recurso do Anthos ainda está em uso em um ou vários clusters de usuário.
O nome do recurso Anthos e a lista dos clusters de usuário são incluídos
na mensagem de erro. Por exemplo, a mensagem a seguir indica que a versão do Anthos Config Management 1.6.0
está instalada nos clusters de usuário user-cluster-2
e user-cluster-2
, que precisam ser atualizados.
APME4000: found clusters using the to-be-deprecated Anthos Config Management version "1.6.0": ["user-cluster-1", "user-cluster2"]
Mitigation: Please upgrade the Anthos Config Management on those clusters
Na versão 0.9, apenas o Anthos Config Management suspendeu o suporte para versões mais antigas. Para resolver esse erro, siga as instruções para fazer upgrade da versão do Anthos Config Management nos clusters de usuário.