Clusters e recursos: kubeconfig, contas de nuvem e RBAC
Cada cluster abre com o mesmo menu da IDE: visão geral, nós, workloads, configuração, rede, armazenamento, Helm e CRDs. A web e o desktop aceitam kubeconfig e credenciais diferentes, porque a web conecta do servidor do Kubepier e o desktop, da sua máquina; em todos os casos vale o RBAC da credencial, e dá para começar com uma ServiceAccount só leitura.
O que faz
- Pods com problema e eventos de aviso sobem para o topo.
- CPU e memória por cluster, nó e namespace: na web, com o metrics-server do cluster; no desktop, com o Prometheus do provider escolhido em Configurações do cluster › Metrics (por exemplo, o Lens Metrics), ou com o metrics-server quando não há Prometheus.
- Cada CronJob mostra a última execução e se está suspenso; cada Job, se concluiu, falhou ou está rodando.
- Todos os recursos (Pods, Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, ConfigMaps, Secrets, Services, Ingresses, volumes, HPAs, RBAC e o resto), com o YAML de cada um. Itens que o cluster não serve somem do menu.
O que é aceito
- Web, kubeconfig colado: contextos com token embutido ou certificado e chave de cliente embutidos (client-certificate-data e client-key-data), com a CA embutida (certificate-authority-data) ou insecure-skip-tls-verify.
- Web, conta Azure: Service Principal (tenant, client id e secret), com assinaturas opcionais. Descobre os AKS com contas locais e com Entra ID.
- Web, conta AWS: chave de acesso IAM (com session token opcional) e regiões opcionais. Descobre os EKS das regiões.
- Desktop: qualquer kubeconfig que o kubectl aceite, inclusive plugins exec (kubelogin, aws, gke-gcloud-auth-plugin), arquivos locais e VPN.
O que não é aceito
- Web: contexto com plugin exec (kubelogin, az, aws, aws-iam-authenticator, gke-gcloud-auth-plugin, gcloud, ibmcloud, oci). Para AKS e EKS, use a conta de nuvem; para os demais, um token de ServiceAccount.
- Web: contexto com auth-provider (descontinuado no kubectl).
- Web: CA, certificado ou token em arquivo local (certificate-authority, client-certificate, tokenFile). Gere a versão embutida com kubectl config view --flatten --minify.
- Web: contexto que aponta para um cluster que não existe no arquivo, ou sem token nem certificado.
- Web: cluster totalmente privado, ou com a API restrita a IPs que não incluem os IPs de saída do Kubepier.
- Os contextos recusados aparecem na tela com o motivo; os outros do mesmo arquivo são importados.
O que existe só na web ou só no desktop
| Função | Web | Desktop |
|---|---|---|
| Secrets | Só as chaves e o tamanho de cada valor | Como no kubectl, com o seu kubeconfig |
| Helm | Releases instalados (leitura) | Charts e releases |
| Port-forward | Não: abre uma porta na sua máquina | Sim |
| Métricas | Usa o metrics-server que o cluster tem | Instala o Lens Metrics (Prometheus, kube-state-metrics e node-exporter) em Configurações do cluster › Metrics |
Permissões necessárias do seu lado
| Tela | Permissão do Kubernetes (RBAC) |
|---|---|
| Listas e detalhes | get e list nos recursos (o desktop também usa watch) |
| Secrets | get e list em secrets (o papel view não inclui) |
| Releases do Helm na web | list em secrets com o rótulo owner=helm |
| Consumo de CPU e memória | get e list em pods e nodes do grupo metrics.k8s.io (metrics-server instalado); no desktop, com Prometheus, acesso ao Service dele pelo proxy da API (services/proxy) |
| Instalar ou remover o Lens Metrics (desktop) | criar e apagar Namespace, ServiceAccount, ConfigMap, Service, DaemonSet, Deployment, StatefulSet, ClusterRole e ClusterRoleBinding: na prática, cluster-admin |
| CRDs e recursos customizados | get e list em customresourcedefinitions e nos recursos de cada CRD |
Na web, cada leitura usa a credencial cadastrada para o cluster. O que ela não pode ler aparece como erro de permissão naquela tela.
RBAC somente leitura: ServiceAccount read-only
Para conectar sem risco de alterar nada, use uma ServiceAccount com o ClusterRole view do Kubernetes, que lê quase tudo e não lê Secrets. O script completo, que gera o kubeconfig com o token, está em Começar na web e no app, na aba Liberar acesso do cadastro de clusters.
Erros comuns
- Contexto "não suportado" ao colar o kubeconfig: leia o motivo ao lado do nome; os casos estão em "O que não é aceito".
- Cluster inacessível: a API não respondeu ao servidor do Kubepier: confira o endereço e se os IPs de saída estão liberados.
- 403 numa lista: a credencial não tem get ou list naquele recurso; dê a permissão ou use outra credencial.