์ด์Šˆ

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 ์„ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ --cascade=orphan ์˜ต์…˜์ด ํ•ต์‹ฌ์ด๋‹ค. StatefulSet ๋ฆฌ์†Œ์Šค๋งŒ ์‚ญ์ œํ•˜๊ณ  ๊ทธ ์•„๋ž˜ ํŒŒ๋“œ์™€ PVC๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ๊ฒจ๋‘๊ธฐ ๋•Œ๋ฌธ์—, ์‹คํ–‰ ์ค‘์ธ ํŒŒ๋“œ๋ฅผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ  ๋ช…์„ธ๋งŒ ๊ฐˆ์•„๋ผ์šธ ์ˆ˜ ์žˆ๋‹ค.

## ํ˜„์žฌ ๊ตฌ์„ฑ์„ 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

์ฐธ๊ณ