궁금하면
왜 kubectl 플러그인 형태야? Argo Rollouts CLI를 따로 만들지 않고?
응답
Argo Rollouts는 기존 kubectl 워크플로우를 대체하는 게 아니라 확장하는 철학이라 그렇습니다. Rollout은 CRD이므로 kubectl get rollout, kubectl apply -f rollout.yaml 같은 기본 명령은 이미 동작합니다. 굳이 새 CLI를 만들 이유가 없습니다. 문제는 Blue/Green 전환 과정을 '실시간으로, 트리 구조로, 색깔과 함께' 보여주는 화면이 kubectl get만으로는 힘들다는 점입니다. 그래서 그 시각화 기능만 플러그인으로 얹었습니다. kubectl-<이름>이라는 이름의 실행 파일을 PATH에 두면 kubectl <이름>으로 자동 호출되는 게 K8s 플러그인 규약입니다. Krew라는 패키지 매니저로 kubectl krew install argo-rollouts처럼 설치할 수도 있습니다.