cursos-menechini/k8s-menechini icon
public
Published on 4/3/2025
kubernetes

Rules
k8s-menechini
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.