Esta página mostra como acessar e gerenciar suas cargas de trabalho e recursos no Google Distributed Cloud (GDC) isolado por air-gap. Ele descreve como autenticar, gerar arquivos kubeconfig para recursos zonais e globais e gerenciar a inatividade da sessão. Entender esses processos garante o acesso seguro e confiável aos seus projetos e cargas de trabalho.
Esta página é destinada a públicos-alvo no grupo de administradores de plataforma (como administradores de TI) ou no grupo de operadores de aplicativos (como desenvolvedores de aplicativos) que querem usar recursos do GDC. Para mais informações, consulte Públicos-alvo para documentação isolada do GDC.
É possível acessar cargas de trabalho usando o console do GDC, a CLI gdcloud ou a CLI kubectl.
Autenticar sua conta para acesso
Para fazer login no console do GDC ou em um cluster, siga estas etapas:
Console
Abra o seguinte URL em uma nova guia do navegador para acessar a interface do usuário (UI) do Distributed Cloud:
https://GDC_URL
Substitua GDC_URL
pelo
nome de domínio usado para acessar o Distributed Cloud fornecido pelo
operador de infraestrutura (IO). Ao abrir um URL pela primeira
vez, o Distributed Cloud redireciona você para a página de login do provedor de identidade
se o operador de infraestrutura (IO) tiver configurado a página.
Por exemplo, a imagem a seguir faz login na UI do console de uma
organização chamada org-1
:
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 servidor da API Management ou em um cluster do Kubernetes, siga estas etapas:
- Servidor da API Management:
Exporte o caminho em que você quer armazenar o arquivo kubeconfig do servidor da API Management:
export KUBECONFIG=MANAGEMENT_API_SERVER
Substitua MANAGEMENT_API_SERVER pelo caminho para o diretório em que o arquivo kubeconfig será armazenado.
Autentique sua instância da CLI gdcloud para fazer login. Há duas maneiras de autenticar:
Login padrão do 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 e clusters de API na organização. Se a variávelKUBECONFIG
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.
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.
Siga as instruções no terminal. Se o login for concluído, o terminal vai mostrar a mensagem: Você fez login.
- Cluster do Kubernetes:
Autentique sua instância da CLI gdcloud para fazer login. Há duas maneiras de autenticar:
Login padrão do 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
O comando no dispositivo principal vai imprimir outro comando
gdcloud
que você precisa executar no dispositivo secundário na etapa c.Repita a etapa 1 para fazer o download do certificado no dispositivo secundário.
Conclua o login no dispositivo secundário inserindo o comando impresso no dispositivo principal na etapa a.
Essa ação abre um navegador para fazer login no provedor de identidade (IdP) configurado. Informe o usuário e a senha definidos durante a configuração inicial da CLI gdcloud para fazer login.
Exporte o arquivo kubeconfig da identidade do usuário como uma variável:
export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
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
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
Sair
Para sair do console do GDC, faça o seguinte:
Console
Clique em
Sair na barra de menu.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 ou servidor de API que hospeda o recurso, dependendo do tipo de recurso que você está gerenciando.
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 do servidor da API Management zonal
Conclua as etapas a seguir para gerar o arquivo kubeconfig do servidor da API Management zonal:
Para conferir todas as zonas disponíveis:
gdcloud zones list
Anote o nome da zona que hospeda seu recurso personalizado.
Defina a variável de ambiente
ZONE
como a zona que hospeda seus recursos zonais:export ZONE="ZONE"
Substitua
ZONE
pelo nome da zona.Defina a variável de ambiente
MANAGEMENT_API_SERVER
:export MANAGEMENT_API_SERVER="ORG_NAME-admin"
Substitua
ORG_NAME
pelo nome da sua organização, comoorg-1
.Gere o arquivo kubeconfig do servidor da API Management para a zona de destino e valide as credenciais:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
O comando
rm ${KUBECONFIG:?}
remove o arquivo kubeconfig existente no diretório inicial. Quando você gera um novo arquivo kubeconfig, ele substitui o arquivo atual. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.
Recursos de cluster zonal do Kubernetes
Siga estas etapas para gerar o arquivo kubeconfig do cluster do Kubernetes zonal:
Para conferir todas as zonas disponíveis:
gdcloud zones list
Anote o nome da zona que hospeda seu recurso personalizado.
Defina a variável de ambiente
ZONE
como a zona que hospeda seu cluster do Kubernetes:export ZONE="ZONE"
Substitua
ZONE
pelo nome da zona.Defina a variável de ambiente
KUBERNETES_CLUSTER
:export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
Substitua
KUBERNETES_CLUSTER_NAME
pelo nome do cluster do Kubernetes.Gere o arquivo kubeconfig do cluster do Kubernetes para a variável de zona de destino e valide as credenciais:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
O comando
rm ${KUBECONFIG:?}
remove o arquivo kubeconfig existente no diretório inicial. Quando você gera um novo arquivo kubeconfig, ele substitui o arquivo atual. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.
Recursos globais do servidor de API
Conclua as etapas a seguir para gerar o arquivo kubeconfig do servidor de API global:
Defina a variável de ambiente
GLOBAL_API_SERVER
:export GLOBAL_API_SERVER="global-api"
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. Quando você gera um novo arquivo kubeconfig, ele substitui o arquivo atual. 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 Distributed Cloud 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:
Depois de desconectar você por inatividade, a seguinte tela vai aparecer:
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.
gdcloud
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 no GDC, siga as etapas da CLI em Fazer login.
Se você fizer login novamente no GDC por um servidor da API Management, o arquivo kubeconfig será atualizado automaticamente. Para evitar a atualização do arquivo kubeconfig, use a flag --skip-kubeconfig-update
no comando
gdcloud auth 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 o arquivo kubeconfig, siga as etapas da CLI em Fazer login. Para cada tempo limite de sessão, é necessário regenerar os arquivos kubeconfig.