Ferramenta gratuita
YAML do Kubernetes para diagrama
Cole seus manifestos do Kubernetes ou a saída de kubectl -o yaml e veja seus namespaces, Ingress, Services, Deployments e as conexões entre eles como um diagrama. Não é preciso ter conta para testar.
Resultado de exemplo
Tem um docker-compose.yml? Experimente a ferramenta de Docker Compose
Como funciona
Cole ou solte seu YAML
Manifestos escritos à mão, a saída de kubectl get -o yaml ou a saída renderizada do Helm. Vários recursos separados por --- funcionam, assim como kind: List.
Veja o diagrama
Namespaces viram molduras. Ingress, Services, workloads, ConfigMaps, Secrets e volumes são posicionados e conectados do jeito que o YAML os liga.
Abra no Archboard
Salve como um novo diagrama para reorganizar, anotar, compartilhar um link ou exportar em SVG e PNG. Para se cadastrar basta uma conta Google ou GitHub.
Tipos de recurso compatíveis
Estes 37 tipos de recurso são desenhados com o próprio nó:
Workloads
- Pod
- Deployment
- StatefulSet
- DaemonSet
- ReplicaSet
- Job
- CronJob
- Node
Rede
- Service
- Ingress
- IngressClass
- Gateway
- HTTPRoute
- GRPCRoute
- TCPRoute
- TLSRoute
- UDPRoute
- NetworkPolicy
Configuração e segredos
- ConfigMap
- Secret
Armazenamento e escalonamento
- PersistentVolumeClaim
- PersistentVolume
- StorageClass
- HorizontalPodAutoscaler
- VerticalPodAutoscaler
Acesso (RBAC)
- ServiceAccount
- Role
- ClusterRole
- RoleBinding
- ClusterRoleBinding
Políticas
- PodDisruptionBudget
- ResourceQuota
- LimitRange
- MutatingWebhookConfiguration
- ValidatingWebhookConfiguration
Extensões
- CustomResourceDefinition
Agrupamento
- Namespace
Um Namespace é desenhado como uma moldura em volta de tudo o que está dentro dele.
Qualquer outro tipo (um Certificate do cert-manager, um Rollout do Argo, qualquer recurso personalizado) é desenhado como um cartão de recurso personalizado com o tipo e o grupo de API, dentro do namespace. Só ficam de fora os recursos que o cluster ou o Helm criam automaticamente (Events, contas de serviço padrão, kube-root-ca.crt, registros de release do Helm), e o resultado mostra quantos são.
O que o diagrama mostra e o que não mostra
Mostra
- Namespaces como molduras, com os recursos dentro
- Regras de Ingress ligadas aos Services para onde encaminham
- Services ligados aos workloads que os seletores de labels encontram
- ConfigMaps, Secrets e PersistentVolumeClaims ligados aos workloads que os usam ou montam
- HorizontalPodAutoscalers ligados ao que escalam, e NetworkPolicies aos workloads que selecionam
- ServiceAccounts ligadas aos workloads que rodam com elas, e RoleBindings aos seus Roles e ServiceAccounts
- Gateways da Gateway API ligados às suas rotas, e rotas aos seus Services de backend
- CustomResourceDefinitions ligadas aos recursos personalizados que definem
Não mostra
- Quais serviços chamam uns aos outros em tempo de execução: o YAML descreve como os recursos estão ligados, não o tráfego real
- Dados de Secrets e valores de variáveis de ambiente (só os nomes são lidos)
- O estado ao vivo do cluster, como status, eventos ou uso de recursos
- A saída em tabela de kubectl get (rode o comando com -o yaml)
Perguntas
Posso colar a saída do kubectl?
Sim, em YAML: rode kubectl get com -o yaml (por exemplo, kubectl get deploy,svc,ingress -n shop -o yaml) e cole o resultado. Campos que o Kubernetes adiciona, como status, uid e carimbos de data e hora, são ignorados. A saída em tabela padrão não é aceita.
Funciona com charts do Helm?
Renderize o chart antes com helm template e cole a saída. Templates não renderizados, que ainda têm marcadores de Go template, não podem ser lidos como YAML.
O que acontece quando abro o diagrama no Archboard?
O diagrama que você vê (formas, nomes e conexões) é salvo como um novo diagrama no seu espaço de trabalho, onde dá para reorganizar, adicionar notas, compartilhar ou exportar. É um ponto de partida: mudanças posteriores no YAML não atualizam o diagrama.
A ferramenta é gratuita?
Sim. Colar YAML e ver o diagrama não exige conta. Para abrir no Archboard, basta uma conta gratuita.
Abra um canvas em um minuto
Entre com Google ou GitHub. Grátis para um assento. Faça upgrade quando a equipe entrar.