Valide inícios de sessão

Verifique se consegue iniciar sessão com a consola GDC ou a CLI gdcloud.

Iniciar sessão

Para iniciar sessão no Distributed Cloud, siga estes passos:

Consola

Abra o seguinte URL num novo separador do navegador para aceder à IU da nuvem distribuída:

https://GDC_URL

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

Quando abre qualquer URL pela primeira vez, a página redireciona para a página de início de sessão do seu fornecedor de identidade. Para iniciar sessão, use o nome de utilizador e a palavra-passe que criou anteriormente.

CLI

Quando inicia sessão na CLI gdcloud, use o comando gdcloud auth login para autenticar um principal na CLI gdcloud. A CLI gdcloud usa esse principal para autenticação e autorização para gerir recursos e serviços do Google Cloud. Google Cloud

Antes de iniciar sessão, certifique-se de que faz o seguinte:

  • Transfira o ficheiro binário da CLI gcloud e instale-o no seu sistema. Para mais informações, consulte o artigo Transfira a CLI gcloud.
  • Configure e inicialize a configuração predefinida da CLI gcloud. Certifique-se de que define o URL da organização correto, que é usado para obter o ponto final de configuração de início de sessão. Para mais informações, consulte o artigo Instalação da CLI gcloud.
  • Instale o plug-in de autenticação gdcloud-k8s-auth-plugin. Para mais informações, consulte Autenticação da CLI gcloud.

Para iniciar sessão num cluster, conclua os seguintes passos:

  1. Exporte o caminho onde quer armazenar o ficheiro kubeconfig do cluster:

      export KUBECONFIG=CLUSTER_KUBECONFIG
    

    Substitua CLUSTER_KUBECONFIG pelo caminho para o diretório onde armazenar o ficheiro kubeconfig.

  2. Autentique a sua instância da CLI gcloud para iniciar sessão. Existem duas formas de autenticação:

    • Início de sessão padrão no navegador: use este fluxo de autenticação quando iniciar sessão a partir de um navegador.

        gdcloud auth login
      
    • Início de sessão no dispositivo secundário: use este fluxo de autenticação se o seu dispositivo principal não tiver um navegador disponível. Este fluxo inicia o início de sessão no dispositivo principal sem acesso ao navegador e continua o início de sessão com o dispositivo secundário que tem acesso ao navegador.

      Inicie a sessão no seu dispositivo principal sem navegador:

        gdcloud auth login --no-browser
      

      A variável de ambiente KUBECONFIG é atualizada com os ficheiros kubeconfig para todos os servidores de API e clusters na organização. Se a variável KUBECONFIG não estiver definida, a CLI kubectl usa o ficheiro kubeconfig predefinido armazenado em $HOME/.kube/config.

      Para ignorar a edição dos ficheiros kubeconfig, adicione a flag --skip-kubeconfig-update ao comando. Por exemplo:

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

      Copie o resultado do comando da CLI gcloud que é impresso e execute-o numa máquina com acesso ao navegador.

  3. Siga as instruções na página Web para concluir o processo de início de sessão.

    Após a conclusão com êxito do início de sessão, o navegador apresenta a mensagem Autenticação bem-sucedida. Feche esta janela.

  4. Siga as instruções no terminal. Se o início de sessão for bem-sucedido, o terminal apresenta a mensagem: Tem sessão iniciada.

  5. Exporte o ficheiro kubeconfig da identidade do utilizador como uma variável:

      export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  6. Gere um ficheiro kubeconfig com a sua identidade de utilizador:

      gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Substitua ZONE pelo nome da zona.

    É gerado um ficheiro kubeconfig com a sua identidade de utilizador. O seguinte ficheiro YAML 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 consegue aceder ao cluster, inicie sessão com o ficheiro kubeconfig gerado com uma identidade de utilizador:

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

Terminar sessão

Para validar a saída, faça o seguinte:

Consola

Para terminar sessão na IU Web, clique em Terminar sessão na barra de menu.

CLI

Termine sessão na CLI:

gdcloud auth revoke

Gere manualmente o ficheiro kubeconfig

Se estiver a gerir recursos com a CLI kubectl chamando diretamente as APIs KRM, tem de gerar o ficheiro kubeconfig para o cluster que aloja o seu recurso, consoante o tipo de recurso que está a gerir. Os clusters e os servidores disponíveis são os seguintes:

Cluster Nome
Cluster de administrador raiz root-admin
Servidor de API global raiz 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 de API global do administrador organizacional global-api
Cluster de utilizadores CLUSTER_NAME

Também tem de conhecer a configuração do universo GDC para determinar as zonas nas quais pretende implementar os seus recursos zonais ou o servidor da API global para recursos globais. Para mais informações, consulte o artigo Servidores de API globais e zonais.

Determine se o recurso que está a manipular é um recurso global ou zonal. Visite a documentação dedicada do recurso para obter ajuda se não tiver a certeza.

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

Recursos zonais

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o cluster zonal:

  1. Veja todas as zonas disponíveis:

    gdcloud zones list
    

    Tenha em atenção o nome da zona que aloja o seu recurso personalizado.

  2. Defina a variável de ambiente ZONE para a zona que aloja os 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 aloja o seu recurso.

  4. Gere o ficheiro kubeconfig do cluster para a zona segmentada 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 ficheiro kubeconfig existente no diretório inicial. Mesmo sem remover explicitamente o ficheiro kubeconfig, o ficheiro kubeconfig é substituído pelo ficheiro kubeconfig gerado recentemente. Se não quiser substituir nem remover o ficheiro existente, faça uma cópia de segurança do mesmo noutra localização segura.

Recursos globais

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o servidor de API global:

  1. Defina a variável de ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Gere o ficheiro 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 ficheiro kubeconfig existente no diretório inicial. Mesmo sem remover explicitamente o ficheiro kubeconfig, o ficheiro kubeconfig é substituído pelo ficheiro kubeconfig gerado recentemente. Se não quiser substituir nem remover o ficheiro existente, faça uma cópia de segurança do mesmo noutra localização segura.

Terminar sessão por inatividade

Após quinze ou mais minutos de inatividade numa sessão, a consola do GDC e a CLI gdcloud terminam a sessão. O GDC considera a inatividade da sessão como um período durante uma sessão aberta sem interação ativa da sua parte, como nenhum movimento do cursor ou do teclado. Uma sessão ativa dura até doze horas com atividade do utilizador.

Consola

No caso de inatividade da sessão, a consola do GDC termina a sua sessão. Dois minutos antes de a consola GDC terminar a sessão por inatividade, recebe uma caixa de diálogo que o avisa da terminação da sessão:

IU da consola a mostrar uma caixa de diálogo com um temporizador de 99 segundos antes de terminar a sessão do utilizador por inatividade.

Depois de terminar a sessão por inatividade, vê o seguinte ecrã:

A IU da consola mostra o ecrã de início de sessão com uma faixa que contém texto sobre o fim de sessão: &quot;A sua sessão foi terminada porque ficou inativa durante demasiado tempo. Inicie sessão novamente ou contacte o administrador para receber assistência.&quot;

Para iniciar sessão novamente na consola GDC, selecione o seu fornecedor de identidade e adicione as suas credenciais de início de sessão. Se usar um serviço, como o painel de controlo de monitorização, e a consola do GDC terminar a sessão por inatividade, inicie sessão novamente para aceder.

CLI

No caso de inatividade da sessão, a CLI gcloud termina a sessão. Depois de a CLI gdcloud terminar a sessão e tentar executar um comando, recebe um erro de autorização:

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

Para iniciar sessão novamente na CLI gcloud, siga os passos da CLI em Iniciar sessão.

kubectl

A CLI gdcloud faz expirar os seus ficheiros kubeconfig após a inatividade da sessão. Se tentar executar um comando kubectl após um período de inatividade, recebe um erro de autorização:

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

Para voltar a iniciar sessão e usar os seus ficheiros kubeconfig, siga os passos da CLI em Iniciar sessão. Para cada expiração do tempo limite da sessão, tem de regenerar os ficheiros kubeconfig.