Verificar logins

Verifique se é possível fazer login com o console do GDC ou a CLI gdcloud.

Fazer login

Para fazer login no Distributed Cloud, siga estas etapas:

Console

Abra o seguinte URL em uma nova guia do navegador para acessar a UI do Distributed Cloud:

https://GDC_URL

Substitua GDC_URL pelo nome de domínio do operador de infraestrutura (IO) que configurou o serviço de Sistema de Nomes de Domínio (DNS).

Ao abrir qualquer URL pela primeira vez, a página redireciona você para a página de login do provedor de identidade. Para fazer login, use o nome de usuário e a senha que você criou anteriormente.

CLI

Ao fazer login na CLI gdcloud, use o comando gdcloud auth login para autenticar um principal nela. A CLI gdcloud usa esse principal para autenticação e autorização ao gerenciar recursos e serviços do Google Cloud .

Antes de fazer login, faça o seguinte:

  • Faça o download do binário da CLI gdcloud e instale-o no seu sistema. Para mais informações, consulte Fazer o download da CLI gdcloud.
  • Configure e inicialize a configuração padrão da CLI gdcloud. Defina o URL correto da organização, que é usado para buscar o endpoint de configuração de login. Para mais informações, consulte Instalação da CLI gdcloud.
  • Instale o plug-in de autenticação gdcloud-k8s-auth-plugin. Para mais informações, consulte Autenticação da CLI gdcloud.

Para fazer login em um cluster, siga estas etapas:

  1. Exporte o caminho para onde você quer armazenar o arquivo kubeconfig do cluster:

      export KUBECONFIG=CLUSTER_KUBECONFIG
    

    Substitua CLUSTER_KUBECONFIG pelo caminho para o diretório em que o arquivo kubeconfig será armazenado.

  2. Autentique sua instância da CLI gdcloud para fazer login. Há duas maneiras de autenticar:

    • Login padrão no navegador:use esse fluxo de autenticação ao fazer login em um navegador.

        gdcloud auth login
      
    • Login em um dispositivo secundário:use esse fluxo de autenticação se o dispositivo principal não tiver um navegador disponível. Esse fluxo inicia o login no dispositivo principal sem acesso ao navegador e continua o login com o dispositivo secundário que tem acesso ao navegador.

      Inicie o login no dispositivo principal sem um navegador:

        gdcloud auth login --no-browser
      

      A variável de ambiente KUBECONFIG é atualizada com os arquivos kubeconfig de todos os servidores de API e clusters da organização. Se a variável KUBECONFIG não estiver definida, a CLI kubectl usará o arquivo kubeconfig padrão armazenado em $HOME/.kube/config.

      Para pular a edição dos arquivos kubeconfig, adicione a flag --skip-kubeconfig-update ao comando. Exemplo:

        gdcloud auth login --no-browser --skip-kubeconfig-update
      

      Copie a resposta ao comando da CLI gdcloud que é impressa e execute-a em uma máquina com acesso ao navegador.

  3. Siga as instruções na página da Web para concluir o processo de login.

    Após a conclusão do login, o navegador mostra a mensagem Autenticação concluída. Feche esta janela.

  4. Siga as instruções no terminal. Se o login for concluído, o terminal vai mostrar a mensagem: Você fez login.

  5. Exporte o arquivo kubeconfig da identidade do usuário como uma variável:

      export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  6. Gere um arquivo kubeconfig com sua identidade de usuário:

      gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Substitua ZONE pelo nome da zona.

    Um arquivo kubeconfig é gerado com sua identidade de usuário. O arquivo YAML a seguir mostra um exemplo:

    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: <REDACTED>
        server: https://10.200.0.32:443
      name: cluster-name
    contexts:
    - context:
        cluster: cluster-name
        user: cluster-name-anthos-default-user
      name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
      user:
        exec:
          apiVersion: client.authentication.k8s.io/v1
          args:
          - --audience=root-admin
          command: gdcloud-k8s-auth-plugin
          env: null
          installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
          interactiveMode: Never
          provideClusterInfo: false
    
  7. Para verificar se você pode acessar o cluster, faça login com o arquivo kubeconfig gerado com uma identidade de usuário:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Fazer logout

Para verificar o encerramento da sessão, faça o seguinte:

Console

Para sair da UI da Web, clique em Sair na barra de menus.

CLI

Saia da CLI:

gdcloud auth revoke

Gerar manualmente o arquivo kubeconfig

Se você estiver gerenciando recursos com a CLI kubectl chamando as APIs KRM diretamente, será necessário gerar o arquivo kubeconfig para o cluster que hospeda o recurso, dependendo do tipo de recurso que você está gerenciando. Os clusters e servidores disponíveis são os seguintes:

Cluster Nome
Cluster de administrador raiz root-admin
Servidor raiz da API global global-api
Cluster de administrador da organização (organização v1) ORG_NAME-admin
Cluster do sistema (organização v1) ORG_NAME-system
Cluster de infraestrutura da organização (organização v2) ORG_NAME-infra
Servidor da API Management (organização v2) ORG_NAME-admin
Servidor global da API de administrador da organização global-api
Cluster de usuário CLUSTER_NAME

Você também precisa conhecer a configuração do universo do GDC para determinar as zonas em que pretende implantar os recursos zonais ou o servidor de API global para recursos globais. Para mais informações, consulte Servidores de API globais e zonais.

Determine se o recurso que você está manipulando é global ou zonal. Consulte a documentação dedicada do recurso se tiver dúvidas.

Conclua a configuração aplicável com base no tipo de recurso.

Recursos zonais

Siga estas etapas para gerar o arquivo kubeconfig do cluster zonal:

  1. Para conferir todas as zonas disponíveis:

    gdcloud zones list
    

    Anote o nome da zona que hospeda seu recurso personalizado.

  2. Defina a variável de ambiente ZONE como a zona que hospeda seus recursos zonais:

    export ZONE="ZONE"
    

    Substitua ZONE pelo nome da zona.

  3. Defina a variável de ambiente CLUSTER:

    export CLUSTER="CLUSTER_NAME"
    

    Substitua CLUSTER_NAME pelo nome do cluster que hospeda seu recurso.

  4. Gere o arquivo kubeconfig do cluster para a zona de destino e valide as credenciais:

    export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    O comando rm ${KUBECONFIG:?} remove o arquivo kubeconfig existente no diretório inicial. Mesmo sem remover explicitamente o arquivo kubeconfig existente, ele será substituído pelo arquivo kubeconfig recém-gerado. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.

Recursos globais

Conclua as etapas a seguir para gerar o arquivo kubeconfig do servidor de API global:

  1. Defina a variável de ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Gere o arquivo kubeconfig do servidor da API global e valide as credenciais:

    export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?}
    [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    O comando rm ${KUBECONFIG:?} remove o arquivo kubeconfig existente no diretório inicial. Mesmo sem remover explicitamente o arquivo kubeconfig existente, ele será substituído pelo arquivo kubeconfig recém-gerado. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.

Encerramento de sessão por inatividade

Após 15 minutos ou mais de inatividade em uma sessão, o console do GDC e a CLI gdcloud fazem logout. O GDC considera a inatividade da sessão como um período durante uma sessão aberta sem engajamento ativo da sua parte, como nenhum movimento do cursor ou do teclado. Uma sessão ativa dura até 12 horas com atividade do usuário.

Console

Em caso de inatividade da sessão, o console do GDC faz logout. Dois minutos antes de o console do GDC fazer logout por inatividade, você recebe uma caixa de diálogo avisando sobre o logout:

A interface do console mostrando uma caixa de diálogo com um timer de 99 segundos antes de fazer logout do usuário por inatividade.

Depois de desconectar você por inatividade, a seguinte tela vai aparecer:

A interface do console mostra a tela de login com um banner contendo o texto sobre o logout da sessão: &quot;Você saiu do sistema porque sua sessão ficou inativa por muito tempo. Faça login novamente ou entre em contato com o administrador para receber ajuda.&quot;

Para fazer login novamente no console do GDC, selecione seu provedor de identidade e adicione suas credenciais de login. Se você usar um serviço, como o painel de monitoramento, e o console do GDC fizer logout por inatividade, faça login novamente para ter acesso.

CLI

Em caso de inatividade da sessão, a CLI gdcloud faz logout. Depois que a CLI gdcloud faz logout e você tenta executar um comando, recebe um erro de autorização:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Para fazer login novamente na CLI gdcloud, siga as etapas da CLI em Fazer login.

kubectl

A CLI gdcloud expira os arquivos kubeconfig após a inatividade da sessão. Se você tentar executar um comando kubectl após um período de inatividade, vai receber um erro de autorização:

error: You must be logged in to the server (Unauthorized)

Para fazer login novamente e usar os arquivos kubeconfig, siga as etapas da CLI em Fazer login. Para cada tempo limite de sessão, é necessário regenerar os arquivos kubeconfig.