Ped*_*ssi 6 docker kubernetes discord
我的团队目前正致力于将 Discord 聊天机器人迁移到 Kubernetes。我们计划使用StatefulSet主机器人的服务,为每个碎片(POD)应该只需要在一个单一的连接网关。每当一个分片连接到所述网关时,它会告诉它它的 ID(在我们的例子中是 pod 的序数索引)以及我们总共运行了多少个分片(StatefulSet 中的副本数量)。
必须告诉网关分片的总数意味着为了扩大或缩小我们的StatefulSet,我们必须在使用更新的 value 开始新的 pod 之前停止该 StatefulSet 中的所有 pod。
我怎样才能做到这一点?最好通过配置,这样我就不必每次都运行一个特殊的命令。
试试kubectl rollout restart sts <sts name>命令。它将以 RollingUpdate 的方式一个一个地重新启动 pod。
缩小 sts
kubectl scale --replicas=0 sts <sts name>
扩大 sts
kubectl scale --replicas=<number of replicas> sts <sts name>
一种方法是,首先通过运行以下命令获取 StatefulSets 的 YAML 配置并将其保存在文件中:
kubectl get statefulset NAME -o yaml > sts.yaml
Run Code Online (Sandbox Code Playgroud)
然后通过运行以下命令删除 StatefulSet:
kubectl delete -f sts.yaml
Run Code Online (Sandbox Code Playgroud)
最后,再次使用第一步中获得的相同配置文件创建 StatefulSet。
kubectl apply -f sts.yaml
Run Code Online (Sandbox Code Playgroud)
我希望这能回答您的查询,即仅删除 StatefulSet 并创建新的 StatefulSet。
| 归档时间: |
|
| 查看次数: |
1872 次 |
| 最近记录: |