在放大或缩小之前停止StatefulSet中的所有Pod

问题描述 投票:2回答:2

我的团队目前正在将Discord聊天机器人迁移到Kubernetes。我们计划对主要的bot服务使用StatefulSet,因为每个Shard(吊舱)应该只与Gateway建立一个连接。每当分片连接到所述网关时,它都会告诉它其ID(在我们的情况下为Pod的序号索引)和我们总共运行了多少个分片(StatefulSet中副本的数量)。

必须告诉网关分片的总数意味着为了缩放我们的StatefulSet规模我们必须先在该StatefulSet中停止所有pod,然后再使用更新的值启动新的pod。]]

我该如何实现?最好通过配置,因此我不必每次都运行特殊命令。

我的团队目前正在将Discord聊天机器人迁移到Kubernetes。我们计划将StatefulSet用于主要的bot服务,因为每个碎片(pod)只能与...

docker kubernetes discord
2个回答
1
投票

尝试kubectl rollout restart sts <sts name>命令。它将以RollingUpdate方式逐一重启pod。

按比例缩小stskubectl scale --replicas=0 sts <sts name>


0
投票

在任何kubectl scale之前,由于您需要more control on your nodes,因此您可以先考虑kubectl drain

© www.soinside.com 2019 - 2024. All rights reserved.