Build & Development Commands
• Utilize kubectl apply -f em vez de kubectl create -f para evitar erros em reaplicações.
• Sempre valide arquivos YAML antes de aplicar com kubectl apply --dry-run=client -f <file.yaml>.
• Para Helm, utilize helm lint antes do deploy para validar a sintaxe do Chart.
• Utilize helm template para visualizar os manifests gerados antes do deploy real.
• Prefira kustomize build para gerenciar overlays e customizações de ambientes.
• Use skaffold dev para desenvolvimento contínuo com hot-reload no cluster Kubernetes.
• Sempre utilize kubectl rollout restart deployment <deployment-name> para reiniciar aplicações sem downtime.
Testing Guidelines
• Utilize kubectl describe e kubectl logs para investigar falhas em pods.
• Utilize kubectl exec -it <pod-name> -- sh para acessar um container e inspecionar seu estado.
• Use kubectl top pods para verificar consumo de CPU e memória em tempo real.
• Teste políticas de segurança aplicando kubectl auth can-i para verificar permissões RBAC.
• Utilize kubectl port-forward <pod/service> <local-port>:<remote-port> para testar serviços localmente.
• Use k6, fortio ou hey para testes de carga em serviços expostos.
• Teste configurações de escalabilidade com kubectl scale --replicas=<num> deployment/<deployment-name>.
Code Style & Guidelines
• Utilize apiVersion correto para garantir compatibilidade com a versão do cluster.
• Nomeie labels e annotations de forma padronizada para facilitar troubleshooting.
• Sempre defina resources.requests e resources.limits para evitar sobrecarga do cluster.
• Utilize ConfigMap e Secrets para armazenar variáveis de ambiente e credenciais.
• Evite imagens latest; sempre utilize tags versionadas (1.25.3, v1.2.0, etc.).
• Utilize securityContext para evitar execução de containers como root.
• Sempre defina readinessProbe e livenessProbe para garantir estabilidade da aplicação.
Documentation Guidelines
• Documente os comandos essenciais para deploy, rollback e troubleshooting.
• Utilize helm-docs para gerar automaticamente a documentação dos Helm Charts.
• Sempre descreva os valores padrão dos ConfigMaps e Secrets no README do projeto.
• Adicione exemplos de kubectl get, kubectl describe e kubectl logs no troubleshooting.
• Inclua um diagrama de arquitetura explicando os componentes e fluxos de comunicação.
• Mantenha uma seção de observabilidade com métricas essenciais e dashboards recomendados.
• Utilize Kubernetes MarkDown Templates para organizar manifestos YAML na documentação.