[kubernetes] Statefulset 에서 storageClassName 업데이트 하기

[kubernetes] Statefulset 에서 storageClassName 업데이트 하기

Published
April 10, 2023
Tags
K8s

이슈

Statefulset 으로 구성된 Elasticsearch 파드를 업데이트 하려니 다음과 같은 오류가 발생했다.
Error: UPGRADE FAILED: cannot patch "elasticsearch-master" with kind StatefulSet: StatefulSet.apps "elasticsearch-master" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden
내용인 즉 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' 값은 update 가 불가능 하다는 것.
 

해결

수정을 위해서는 Statefulset 을 삭제하고 다시 생성해주는 방법이 있다고 한다.
## 현재 구성을 yaml 파일로 저장 kubectl get statefulset some-statefulset -o yaml > statefulset.yaml ## 파일 내용 수정 vim statefulset.yaml ## 파드를 제거하지 않고 Statefulset 삭제 kubectl delete statefulset some-statefulset --cascade=orphan ## 변경된 StorageClass 로 Statefulset 다시 생성 kubectl apply -f statefulset.yaml
 

참고

 

Loading Comments...