W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本文介紹如何擴縮StatefulSet。StatefulSet 的擴縮指的是增加或者減少副本個數(shù)。
首先,找到你要擴縮的 StatefulSet。
kubectl get statefulsets <statefulset 名稱>
更改 StatefulSet 中副本個數(shù):
kubectl scale statefulsets <statefulset 名稱> --replicas=<新的副本數(shù)>
另外, 你可以就地更新 StatefulSet。
如果你的 StatefulSet 最初通過 ?kubectl apply
? 或 ?kubectl create --save-config
? 創(chuàng)建, 你可以更新 StatefulSet 清單中的 ?.spec.replicas
?, 然后執(zhí)行命令 ?kubectl apply
?:
kubectl apply -f <更新后的 statefulset 文件>
否則,可以使用 ?kubectl edit
? 編輯副本字段:
kubectl edit statefulsets <statefulset 名稱>
或者使用 ?kubectl patch
?:
kubectl patch statefulsets <statefulset 名稱> -p '{"spec":{"replicas":<new-replicas>}}'
當(dāng) Stateful 所管理的任何 Pod 不健康時,你不能對該 StatefulSet 執(zhí)行縮容操作。 僅當(dāng) StatefulSet 的所有 Pod 都處于運行狀態(tài)和 Ready 狀況后才可縮容.
如果 ?spec.replicas
? 大于 1,Kubernetes 無法判定 Pod 不健康的原因。 Pod 不健康可能是由于永久性故障造成也可能是瞬態(tài)故障。 瞬態(tài)故障可能是節(jié)點升級或維護而引起的節(jié)點重啟造成的。
如果該 Pod 不健康是由于永久性故障導(dǎo)致, 則在不糾正該故障的情況下進行縮容可能會導(dǎo)致 StatefulSet 進入一種狀態(tài),其成員 Pod 數(shù)量低于應(yīng)正常運行的副本數(shù)。 這種狀態(tài)也許會導(dǎo)致 StatefulSet 不可用。
如果由于瞬態(tài)故障而導(dǎo)致 Pod 不健康并且 Pod 可能再次變?yōu)榭捎?,那么瞬態(tài)錯誤可能會干擾 你對 StatefulSet 的擴容/縮容操作。 一些分布式數(shù)據(jù)庫在同時有節(jié)點加入和離開時 會遇到問題。在這些情況下,最好是在應(yīng)用級別進行分析擴縮操作的狀態(tài), 并且只有在確保 Stateful 應(yīng)用的集群是完全健康時才執(zhí)行擴縮操作。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: