Códigos de erro do modo particular do Anthos

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 ambiente KUBECONFIG 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 namespace cluster-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:

  1. [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>
    
  2. 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 tela Identity and Access para ver o papel atribuído.
    • 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]
    
  • 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 em anthos-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.

A seguir