728x90
anti-pattern
-
Kubernetes Operator를 작성할 때 피해야 할 Anti-patternsKubernetes 2025. 3. 22. 17:37
🔁 1. Reconciliation Loop 남용 / 비효율적인 처리문제: Reconcile 루프에서 너무 많은 로직을 처리하거나, 상태가 바뀌지 않아도 리소스를 계속 업데이트하거나, 외부 API를 호출하는 경우.예시:매번 Deployment를 업데이트하여 rollout이 반복됨외부 DB나 API를 reconcile 루프마다 계속 호출해결: 상태 변화가 있을 때만 필요한 작업을 수행하고, idempotent하게 구현.📦 2. Status 필드 미사용 또는 오용문제: CR의 .status 필드를 사용하지 않거나, 너무 많은 정보를 넣어서 상태 추적이 어려운 경우.해결: 적절한 정보를 넣어 관찰 가능한 상태를 만들고, 컨트롤러는 이 상태를 기준으로 동작해야 함.🧠 3. 컨트롤러가 너무 많은 책임을 가짐..