Github ARC: 갑자기 runner가 증발한 문제
어느 순간 갑자기 Github ARC가 증발했다.
Github 조직 Runner에서도 Self hosted Runner가 전부 사라졌고(inactive 마저도 없음), runner 컨테이너도 전부 사라져있었다.
당황해서 문제를 추적하기 시작했는데,
kubectl get autoscalingrunnerset arc-runner-set \
-n arc-runners \
-o jsonpath='{.status.phase}{"\n"}'
보니까 runner가 outdate된 상태로 판정돼서 runner를 전부 내려놓고 실행을 하지 않고 있던 것이다.
뭐지??
그래서 정책 문서들을 잘 보니까, runner의 새 버전이 나온 뒤에 30일이 지나면 기존 동작을 비활성화할 수 있다고 한다.
보통은 기본 설정에서 runner 자동 업데이트를 해줘서 괜찮은데, 문제는 내가 runner 이미지를 마개조해서 쓰고 있어서 여기에 해당되지 않았던 것이다...
https://docs.github.com/en/actions/reference/runners/self-hosted-runners
현재 runner 버전을 확인하고, outdated된 이미지면 이미지를 다시 말아서 scaleset 재실행을 해줘야 한다.
kubectl exec -n arc-runners runner파드 -c runner -- /home/runner/bin/Runner.Listener --version
그리고 이후에도 버전이 올라갈 때마다 최신 이미지 기준으로 runner를 재빌드해서 리로드해야 한다.
이건 현재로서는 custom runner image를 쓴다면 생기는 필연적인 문제인 것 같다.
릴리즈 페이지
https://github.com/actions/runner/releases
이러면 운영이 너무 고통스러워서, 포크해서 기능을 좀 고칠까 싶기도 하다.