明确选择的 pod 的正常关闭
Graceful shutdown of explicitly selected pod
我想从同一个 Replication Controller 或同一个 Replica Set 控制的一组 pods 中删除给定的、精确的、选定的 pod。
用例如下:集合中的每个 pod 运行一个有状态(但在内存中)的应用程序。我想以一种优雅的方式从集合中删除一个 pod,即在删除之前,我想确定 pod 没有处理正在进行的应用程序会话。假设我可以在应用程序级别解决清空 pod 的任务,即没有新会话定向到选定的 pod,并且我可以测量 pod 中正在进行的会话的数量,因此我可以决定何时删除 pod。困难的部分是删除此 pod,以便 RC 或 RS 不会根据 "replicas".
的值用新的 pod 替换 pod
我找不到解决方案。最接近的方法是按照 http://kubernetes.io/docs/user-guide/replication-controller/#isolating-pods-from-a-replication-controller 的建议将 pod 与 RC 或 RS 隔离
不过,根据同一份文件,RC 或 RS 用新的吊舱替换了隔离吊舱。据我所知,没有办法以原子方式隔离 pod 并降低 "replicas" 的值。
我已经检查了即将到来的 PetSet 支持,但我的应用程序不需要,例如持久存储,或持久 Pod ID。这些功能对我来说不是必需的,所以从这个角度来看我的应用程序并不是真正的宠物。
也许一个新的 pod 状态(例如 "target for removal" - 状态名称对我来说并不重要)会成功,它可以通过 API 进行修补,并且当"replicas"减少了?
您可以通过三个步骤实现:
为所有 pods 添加标签,但要删除的标签除外。因为pods的标签仍然满足Replica Set的选择器,所以不会创建新的pods。
更新副本集:将新标签添加到选择器并自动减少副本集的副本。您要删除的 pod 不会被 Replica Set 选择,因为它没有新标签。
删除选定的连播。
我想从同一个 Replication Controller 或同一个 Replica Set 控制的一组 pods 中删除给定的、精确的、选定的 pod。
用例如下:集合中的每个 pod 运行一个有状态(但在内存中)的应用程序。我想以一种优雅的方式从集合中删除一个 pod,即在删除之前,我想确定 pod 没有处理正在进行的应用程序会话。假设我可以在应用程序级别解决清空 pod 的任务,即没有新会话定向到选定的 pod,并且我可以测量 pod 中正在进行的会话的数量,因此我可以决定何时删除 pod。困难的部分是删除此 pod,以便 RC 或 RS 不会根据 "replicas".
的值用新的 pod 替换 pod
我找不到解决方案。最接近的方法是按照 http://kubernetes.io/docs/user-guide/replication-controller/#isolating-pods-from-a-replication-controller 的建议将 pod 与 RC 或 RS 隔离
不过,根据同一份文件,RC 或 RS 用新的吊舱替换了隔离吊舱。据我所知,没有办法以原子方式隔离 pod 并降低 "replicas" 的值。
我已经检查了即将到来的 PetSet 支持,但我的应用程序不需要,例如持久存储,或持久 Pod ID。这些功能对我来说不是必需的,所以从这个角度来看我的应用程序并不是真正的宠物。
也许一个新的 pod 状态(例如 "target for removal" - 状态名称对我来说并不重要)会成功,它可以通过 API 进行修补,并且当"replicas"减少了?
您可以通过三个步骤实现:
为所有 pods 添加标签,但要删除的标签除外。因为pods的标签仍然满足Replica Set的选择器,所以不会创建新的pods。
更新副本集:将新标签添加到选择器并自动减少副本集的副本。您要删除的 pod 不会被 Replica Set 选择,因为它没有新标签。
删除选定的连播。