Acessando um Cluster Usando o Headlamp

Descubra como usar o Headlamp para exibir e gerenciar clusters que você criou usando o Kubernetes Engine (OKE).

O farol é uma interface de usuário do Kubernetes de código-fonte aberto que você pode usar para inspecionar cargas de trabalho, exibir logs e eventos, editar recursos, diagnosticar e solucionar problemas de aplicativos e executar operações permitidas por suas permissões do Kubernetes RBAC. Você pode executar o Headlamp como um aplicativo de desktop ou implantá-lo em um cluster do Kubernetes.

Importante

O projeto upstream do Kubernetes recomenda o Headlamp como substituto do Painel de Controle do Kubernetes. O projeto do Painel de Controle do Kubernetes foi arquivado e não é mais mantido. O Headlamp fornece workflows de gerenciamento de cluster semelhantes, bem como suporte a vários clusters, extensibilidade e opções de implantação em desktop e em cluster. Para obter mais informações, consulte Do Painel de Controle do Kubernetes ao Farol: Noções Básicas sobre a Transição.

Escolha como executar o Farol com base em como você deseja acessar clusters:

  • Para administradores e desenvolvedores individuais, use o Headlamp Desktop. O Headlamp Desktop é executado na sua estação de trabalho e se conecta a clusters usando o arquivo kubeconfig do Kubernetes. Você não precisa implantar componentes de Farol em cada cluster.
  • Para uma interface compartilhada baseada em navegador, implante o Headlamp em um cluster. O projeto Headlamp fornece um gráfico Helm para implantações em cluster.

Em ambos os casos, a autenticação do Kubernetes e o RBAC determinam quais recursos os usuários podem exibir e quais operações podem executar.

Usando a área de trabalho do farol

Use o Headlamp Desktop quando quiser acessar um ou mais clusters de uma estação de trabalho sem implantar o Headlamp nos clusters.

Para usar o Headlamp Desktop para acessar um cluster:

  1. Se você ainda não tiver feito isso, siga as etapas para configurar o arquivo de configuração kubeconfig do cluster e (se necessário) defina a variável de ambiente KUBECONFIG para apontar para o arquivo. Observe que você deve configurar seu próprio arquivo kubeconfig. Não é possível acessar um cluster usando um arquivo kubeconfig que outro usuário tenha configurado. Consulte Configurando o Acesso ao Cluster.
  2. Verifique se o arquivo kubeconfig contém o contexto do Kubernetes para o cluster que você deseja acessar digitando:

    kubectl config get-contexts
  3. Instale o Headlamp Desktop seguindo as instruções do sistema operacional na documentação do Headlamp Desktop.

    Por exemplo, no macOS, você pode instalar o Headlamp Desktop usando o Homebrew digitando:

    brew install --cask headlamp
  4. Iniciar área de trabalho do farol.
  5. Selecione o cluster ou o contexto do Kubernetes que você deseja acessar.
  6. Conclua a autenticação, se solicitado.

O farol exibe os recursos do Kubernetes que a identidade no arquivo kubeconfig está autorizada a acessar. As operações disponíveis no Headlamp dependem das permissões do Kubernetes RBAC concedidas a essa identidade.

Como o Headlamp Desktop é executado em sua estação de trabalho, ele não consome recursos do nó de trabalho e não está sujeito a restrições de carga de trabalho do nó virtual.

Instalando o farol no cluster

Implante o farol em um cluster quando quiser fornecer uma interface compartilhada baseada em navegador.

Antes de instalar o farol, verifique se:

  • Você configurou o acesso ao cluster. Você pode verificar o acesso digitando kubectl get nodes. Consulte Configurando o Acesso ao Cluster.
  • O Helm está instalado e disponível no seu ambiente. Você pode verificar a instalação digitando helm version.
  • Sua identidade do Kubernetes tem permissões suficientes para criar os recursos no gráfico Helm do Farol.

Para instalar o farol usando o Helm:

  1. Adicione o repositório Headlamp Helm digitando:

    helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
    helm repo update
  2. Crie um namespace para Headlamp digitando:

    kubectl create namespace headlamp
  3. Instalar farol digitando:

    helm install headlamp headlamp/headlamp --namespace headlamp
  4. Verifique a instalação:

    kubectl get deployment,pods,service -n headlamp

    Aguarde até que o pod Headlamp esteja em execução e pronto.

Autenticar em uma Implantação de Farol no Cluster

O farol usa a autenticação do Kubernetes e o RBAC para determinar quais recursos de cluster os usuários podem acessar.

Para autenticar na implantação do Farol instalada usando o gráfico Helm:

  1. Verifique a conta de serviço do farol digitando:

    kubectl get serviceaccount headlamp -n headlamp
  2. Verifique o ClusterRoleBinding informando:

    kubectl get clusterrolebinding headlamp-admin -o yaml
    Importante

    Por padrão, o gráfico Helm do Farol cria um ClusterRoleBinding headlamp-admin que concede a atribuição cluster-admin à conta de serviço headlamp. A função cluster-admin fornece acesso irrestrito ao cluster. Para uso em produção, conceda somente as permissões necessárias ao seu ambiente.

  3. Crie um token temporário para a conta de serviço Headlamp digitando:

    kubectl create token headlamp -n headlamp
  4. Copie o token da saída do comando. Você insere este token ao acessar o Farol.

Para implantações compartilhadas, considere configurar a autenticação do OpenID Connect (OIDC) em vez de distribuir tokens de conta de serviço. Consulte a Documentação do Headlamp in-cluster.

Acessando uma Implantação de Farol no Cluster

Para acesso administrativo local, você pode usar kubectl port-forward para acessar o serviço de Farol.

  1. Encaminhe a porta local 8080 para o serviço de farol digitando:

    kubectl port-forward -n headlamp service/headlamp 8080:80
  2. Abra um browser e vá para:

    http://localhost:8080
  3. Quando solicitado, informe o token de autenticação criado anteriormente.
Importante

O comando kubectl port-forward não é suportado para pods em execução em nós virtuais. Se o pod Headlamp for executado em um nó virtual, exponha o Headlamp usando um método de entrada ou outro método de acesso suportado pelo seu ambiente.

Para acesso de produção compartilhado, configure a entrada, o TLS e um mecanismo de autenticação apropriado, em vez de depender do encaminhamento de porta. Consulte a Documentação do Headlamp in-cluster.

Usando Faróis com Nós Virtuais

Você pode usar Headlamp com clusters que contêm pools de nós virtuais.

  • O Headlamp Desktop é executado fora do cluster e não está sujeito a restrições de carga de trabalho do nó virtual. As cargas de trabalho que você inspeciona ou gerencia permanecem sujeitas aos recursos e limitações do tipo de nó em que são executadas.
  • Uma implantação de Headlamp no cluster é executada como pods do Kubernetes. Se os pods de farol forem programados em nós virtuais, os pods estarão sujeitos ao mesmo recurso do Kubernetes, rede, armazenamento e restrições de recursos que outras cargas de trabalho em execução em nós virtuais.

Especificamente, o kubectl port-forward não é suportado para pods em nós virtuais. Consulte Comparando Nós Virtuais com Nós Gerenciados e Recursos Alocados a Pods Provisionados por Nós Virtuais.

Verificando o Acesso ao Farol

Depois de se conectar ao cluster usando o Farol:

  1. Selecione o cluster.
  2. Selecione um namespace.
  3. Abra Cargas de Trabalho.
  4. Selecione Implantações ou Pods.
  5. Selecione um recurso para exibir seus detalhes, eventos, logs e recursos relacionados.

Os recursos e as operações mostrados dependem das permissões do Kubernetes RBAC concedidas à identidade que você usou para acessar o cluster.

Se o Kubernetes Metrics Server estiver instalado no cluster, o Headlamp também poderá exibir informações de uso de recursos. Para obter mais informações sobre o Kubernetes Metrics Server, consulte Implantando o Kubernetes Metrics Server em um Cluster.

Removendo uma Implantação de Farol no Cluster

Para remover a implantação do Farol criada neste tópico:

  1. Desinstale a versão do Headlamp Helm digitando:

    helm uninstall headlamp -n headlamp
  2. Exclua o namespace Headlamp digitando:

    kubectl delete namespace headlamp

Remover a área de trabalho do farol da estação de trabalho não modifica os clusters que você acessou com ela.