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.