Community

최근 Kubernetes 클러스터의 CronJob의 스케쥴을 업데이트한 뒤 예상과 달리 과거 시간의 스케쥴이 한번 더 실행되는 현상을 발견했습니다. 해당 문제를 트러블슈팅해보면서 처음에는 도저히 이

최근 Kubernetes 클러스터의 CronJob의 스케쥴을 업데이트한 뒤 예상과 달리 과거 시간의 스케쥴이 한번 더 실행되는 현상을 발견했습니다. 해당 문제를 트러블슈팅해보면서 처음에는 도저히 이유를 알수가 없었는데 동료들과 다양한 부분을 확인하다보니 원인은 모르지만 동작을 재현할 수 있게 되었습니다. 동작은 재현했지만 왜 그렇게 동작하는지 정확히 어떤 조건에서 되는건지는 알 수가 없어서 지난 2주간 틈틈히 Kubernetes 컨트롤 플레인을 보면서 문제를 추적했습니다. 첨엔 로그만 verbose하게 보면 알 수 있을것 같았는데 역시 이해하지 못했고 코드를 봐도 다 파악이 안되어서 결국 직접 수정한 컨트롤러로 CronJob을 실행해서 문제를 확인했습니다. 덕분에 작은 부분이지만 컨트롤러의 동작을 어느정도 이해할 수 있어서 이 과정을 통해서 꽤 많이 배웠고 비슷하게 컨트롤러를 봐야하는 이슈에서도 어떻게 봐야할지 이해하게 되었습니다. 이 작업과 별개로 Kubernetes같은 거대한 프로젝트가 얼마나 잘 만들어져 있는지 알 수 있었습니다. 작업큐를 통해서 관심사 분리가 정말 잘 되어 있어서 cronjob-controller의 소스코드만 보면 다른 부분은 보지 않아서 동작 추적에 문제가 없을 정도였고 테스트 코드도 잘 되어 있고 클러스터를 직접 수정해서 올릴 수 있을 정도로 생태계가 잘 되어 있었습니다.

알림

알림이 없습니다