IT/Kubernetes
[Kubernetes] Helm으로 Statefulset의 spec upgrade가 안 되는 경우
wookiist
2021. 5. 12. 21:44
[Kubernetes] Helm으로 Statefulset의 spec upgrade가 안 되는 경우
Helm으로 배포한 패키지에 statefulset이 있으면, helm upgrade
명령을 사용했을 때 오류가 날 가능성이 있습니다.
특정 파드의 리소스 제한을 걸지 않아서, 배포 이후에 제한을 걸기 위해 values.yaml을 업데이트 하고 helm upgrade
를 수행했는데, statefulset이 지원하지 않는 업데이트라는 에러를 뿜뿜하더군요.
분명 자원은 spec.template.containers.resources
에 있으니까, 이걸 수정한다고 해서 statefulset이 업데이트 할 수 없다고 나오는 건 분명히 버그였습니다.
수소문 해보니 저와 같은 현상을 겪었던 분들이 많이들 계셨고, 찾아낸 해법은 다음과 같습니다.
- 현재 동작하고 있는 파드를 지우지 않은 상태로 statefulset만 지운다.
helm upgrade
를 수행한다. 이후 자동으로 오래된 파드가 roll up 된다.
실제 이용하게 될 명령어는 이렇습니다.
$ kubectl delete sts --cascade=false $(statefulset_name)
참고
반응형