Kubernetes 滚动更新是否可以从服务负载均衡器中优雅地删除 Pod

2023-12-06

负载均衡器后面的主机滚动更新的标准做法是优雅地停止轮换主机。这可以通过将主机标记为“不健康”并确保主机不再接收来自负载均衡器的请求来完成。

Kubernetes 是否会对由 ReplicationController 管理并为 LoadBalancer 服务提供服务的 Pod 执行类似的操作?

即,Kubernetes 是否将某个 pod 从 LoadBalancer 轮换中取出,确保传入流量已停止,然后才发出 pod 关闭命令?


实际上,一旦删除 Pod,它将处于“终止”状态,直到被销毁(在 TerminationGracePeriodSeconds 之后),这意味着它已从服务负载均衡器中删除,但仍然能够为现有请求提供服务。

我们还使用“就绪”健康检查,并且 preStop 是同步的,因此您可以使 preStop 挂钩将 pod 的就绪状态标记为 false,然后等待它从负载均衡器中删除,然后再让 preStop 挂钩退出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 滚动更新是否可以从服务负载均衡器中优雅地删除 Pod 的相关文章

  • 在 Kubernetes 中向 MySQL 添加另一个用户

    这是我的MySQL apiVersion apps v1beta1 kind Deployment metadata name abc def my mysql namespace abc sk test labels project ab
  • 如何在 microk8s 中使用本地 docker 镜像?

    我一直在使用 minikube 在本地测试 Kubernetes 在 minikube 中 我们可以使用本地 docker 镜像eval minikube docker env 命令 我开始探索microk8s 在我运行 Ubuntu 18
  • 使大型静态数据文件可供 kubernetes pod 使用

    我有一些相当大的 UTF 8 数据文件 pod 需要在启动时加载到内存中 从几百 KB 到大约 50 MB 该项目 包括 helm 图表 是开源的 但其中一些文件不是开源的 否则我可能只会将它们包含在图像中 我最初的想法是创建配置映射 但我
  • Istio 允许所有出口流量

    如何允许 Istio 的所有出站流量 我尝试了以下方法 禁用出口网关并 使用 set global proxy includeIPRanges 0 0 0 0 0 0 0 0 0 0 绕过 sidecar 所有选项都不起作用 值得一提的是我
  • kubectl --token=$TOKEN 未使用令牌的权限运行

    当我使用命令时kubectl与 token标记并指定令牌 它仍然使用来自kubeconfig file 这就是我所做的 NAMESPACE default SERVICE ACCOUNT NAME sa1 kubectl create sa
  • 各种 Istio 端口是如何使用的?

    Question 我正在尝试学习 Istio 并且正在设置我的 Istio Ingress Gateway 当我设置它时 有以下端口选项 如此处所示 https istio io latest docs reference config i
  • 如何根据 Kubernetes / Docker 事件发送警报?

    是否可以根据 Kubernetes 集群内发生的事件以某种方式发送警报 到电子邮件 slack 特别是 如果 Pod 意外重新启动或 Pod 无法启动 那么获取警报将非常有用 同样 了解 Pod 的 CPU 使用率是否超过特定阈值并获取警报
  • 如何将新的 Kubernetes Minion 添加到当前集群

    我有一个运行在 3 台服务器上的 Kubernetes 集群 一台主服务器和 2 台服务器 我想添加另一个小黄人 是否可以添加 Minion 而无需再次进行完整安装 到目前为止 在寻找执行此操作的指南时 我只能找到有关建立整个集群的优秀指南
  • 有没有办法用Lettuce自动发现Redis集群中新的集群节点IP

    我有一个Redis集群 3主3从 运行在一个库伯内斯簇 该集群通过Kubernetes 服务 Kube 服务 我将我的应用程序服务器连接到 Redis 集群 使用Kube 服务作为 URI 通过 Redis 的 Lettuce java 客
  • 允许 Kubernetes 用户列表/获取命名空间

    我有以下用户清单 我希望允许 myapp user 获取集群内所有命名空间的列表 根据我的查找 我应该创建一个 ClusterRole 但我无法真正找到足够的详细信息 是否有所有 apiGroup 以及相应资源和动词的列表 apiVersi
  • 如何将 kubernetes LoadBalancer Ingress URL 发布到 aws Route53

    今天 当我通过 aws 使用 kubernetes 启动一个应用程序时 它公开了一个公开可见的 LoadBalancer Ingress URL 但是要将其链接到我的域以使公众可以访问该应用程序 我需要在每个设备上的浏览器中手动进入 aws
  • Kubernetes 通过基于时间的触发器扩展 Pod

    我有一台在 Kubernetes 上运行的服务器来处理每小时的处理作业 考虑使用服务来公开 pod 并使用 外部 cron 作业来访问负载均衡器 以便 kubernetes 可以根据需要自动缩放以处理更高的负载 然而在实现中 如果 cron
  • 如何使用 kubectl 了解有关先前发布版本的更多详细信息?

    有给出的命令here https kubernetes io docs reference kubectl cheatsheet updating resources其中解释了如何使用执行回滚kubectl 列出以前的部署版本的是 kube
  • 如何允许 Kubernetes 作业访问主机上的文件

    我已经彻底阅读了 Kubernetes 文档 但在与主机文件系统上的文件与 K8 作业启动的 pod 内运行的应用程序进行交互时仍然遇到问题 即使是最简单的实用程序也会发生这种情况 因此我提供了 yaml 配置的精简示例 此处引用的本地文件
  • Helm 3 图表安装错误:验证数据时出错:未设置 apiVersion

    我有一个简单的 helm 图表 它将通过 docker 桌面将应用程序部署到我的 kubernetes 本地副本 如果我使用 kubectl 一次部署一个 yaml 文件 一切都会正常工作 但是 当我尝试创建 helm 图表以方便部署时 出
  • 如何将 kubectl 配置文件与 ~/.kube/config 合并?

    有没有一个简单的kubectl命令采取kubeconfig文件 包含 cluster context user 并将其合并到 kube config 文件作为附加上下文 Do this export KUBECONFIG kube conf
  • Kubernetes - 尝试部署时“安装卷失败”

    我部署了第一个容器 我得到了信息 deployment apps frontarena ads deployment created 但后来我看到我的容器创建陷入等待状态 然后我看到日志使用kubectl describe pod fron
  • 如何从容器内运行 podman?

    我想跑podman https podman io作为运行 CI CD 管道的容器 但是 我不断从 podman 容器中收到此错误 podman info ERRO 0000 overlay is not supported over ov
  • 如何限制对 Kubernetes 服务的访问?

    我正在尝试使用以下 yaml 创建服务 正如您所看到的 我正在尝试限制 10 0 0 0 8 范围内对该服务的访问 apiVersion v1 kind Service metadata name nginx service spec po
  • 如何改进 kubernetes 集群容器中的随机数生成?

    我发现运行的容器内的随机数生成存在一些问题 在 kubernetes 集群中 重复值 可能是缺乏熵 在容器内部 或者它可能是更高级别的其他东西 但是 我想研究熵角 我有几个问题 很难找到答案 proc sys kernel random e

随机推荐

  • 实例成员“view”不能在类型“GameScene”上使用

    我最近更新到 Xcode 7 Beta 现在收到一条错误消息 实例成员 视图 无法在第 5 行的 GameScene 类型上使用 有人知道如何解决此问题吗 另外 如果您想提供额外帮助 请参阅我的另一个问题 ConvertPointToVie
  • 在智能卡上上传 .cap 文件?

    我有一张新卡 其 ATR 代码如下 3B 68 00 00 00 73 C8 40 12 00 90 00 我在谷歌上搜索了这张ATR 最后我知道这是一张 巴西电子公积金卡 问题是我该如何使用这张卡 我的意思是它支持哪些 APDU 有它的数
  • PHP - 使用表单输入中的 id 制作 switch 语句

    我正在用 PHP 做一个简短的测验 根据 4 个是 否问题告诉你你想到的生物是什么 我这样做是为了根据您对每个问题的回答 您会遇到不同的问题 我主要使用 switch 语句来完成此操作 我的问题是有什么方法可以使用条件作为表单提交按钮的 i
  • Flutter 蓝牙热敏打印机集成

    我有一个 flutter 食品配送应用程序 除此之外 我还有一个单独的餐厅应用程序 我可以在其中接受和拒绝订单 我很长一段时间以来一直在尝试做一些事情 以便当餐厅接受订单时 蓝牙热敏打印机会自动打印出一张收据 我找到了很多代码 但我不明白如
  • Powershell:将 pracl 命令的输出通过管道传输到数组

    pracl 是一个 sysinternal 命令 可用于列出目录的 ACL 我有一个共享列表 我想创建一个 csv 文件 这样对于每个 ACL 条目 我希望共享路径位于一列中 共享权限位于下一列中 我试图通过使用以下代码来做到这一点 inp
  • 数组到 SVG,使用 PHP 的灵活算法

    问题 我有几个不同的数组 例如 0 21 0 001 0 0245 0 31 0 05 1234 1342 1232 1625 2200 2205 1804 5 12 42 2 32 42 my problem now is I m loo
  • 在 Python 中索引浮点值

    我有一个从数据结构生成的浮点数列表 它是一个字典列表 即我已经迭代了整个列表并选择了给定字典中的某些值 现在 我想实际对这些数据点做一些事情 为此我需要对原始位置的一些参考 我尝试简单地使用数据点作为关键 但在尝试和失败之后 我进行了一些挖
  • Google VR Unity Divider、设置和后退按钮隐藏在 v0.9 中

    有谁知道如何禁用最新的 google vr sdk for unity 中的分隔符 设置和后退按钮 我尝试将 NativeUILayerSupported 设置为 false 并将返回值放入旧的 DrawUILayer 中 但它仍然显示 看
  • Web Api - 使用 [FromBody] 属性和 POST 方法时操作参数为空

    我有这个控制器 但我不明白为什么name参数为空 public class DeviceController ApiController HttpPost public void Select FromBody string name pr
  • 全透明OpenGL模型

    解释一下我做错了什么 我已将 3D 模型加载到自编码的 opengl 渲染 v 3 3 中 并尝试使用顶点着色器使其像 xray 效果一样透明 version 330 attribute vec3 coord3d attribute vec
  • Python 通过请求更改 Instagram 个人资料图片

    我正在尝试使用 python post 请求更改我的 Instagram 个人资料图片 但它没有改变 我没有收到任何错误 在回复中 它说他们已经更改了它 但是更改为白色 Instagram 人物照片 而不是我选择的照片 request ur
  • 为什么不能从 ArrayAdapter 添加/删除项目?

    我正在使用一个ArrayAdapter
  • SQL Server 长查询中的表锁 - 解决方案:NoLock?

    我的应用程序中的报告运行一个需要 5 15 秒的查询 仅限于将返回的行数 该查询对我的应用程序的几乎所有主表 客户 销售 单位等 有 8 个联接 一个小工具向我展示 此时 所有这 8 个表都被共享表锁锁定 也就是说 此时不会进行任何更新操作
  • targetSdkVersion 26 在崩溃报告中给出异常

    根据到 2018 年 11 月将目标 SDK 版本更新到 26 的要求 我在几个月前尝试更新我的 gradle 文件并发布了我的应用程序的新版本 将目标 sdk 和编译 sdk 版本更新为 26 从 23 之后 一天之内 我开始在 Fire
  • 未找到 Gradle DSL 方法:“classpath()”

    项目 FeedBack 可能使用不包含该方法的 Android Gradle 插件版本 例如 在 1 1 0 中添加了 testCompile 修复插件版本并同步项目 项目 FeedBack 可能使用不包含该方法的 Gradle 版本 打开
  • 请指出我学习异步Javascript过程中的错误

    我是 Javascript 和异步编程的新手 有些事情让我感到困惑 请指出我学习中的错误 异步函数的回调被放入消息队列中 通过事件循环执行 异步执行是非阻塞的 完成 通过事件循环 功能类似于setTimeout是异步的 异步函数是阻塞的 只
  • 创建不可移动类型的 std::vector

    我有一个std vector named args 我不知道编译时向量的大小 和不可移动类型NonMoveable 我想创建一个与 args 大小相同的向量 因此它等于 NonMovable args 0 additional arg No
  • git log 并在裸仓库上显示

    我在家里本地网络的文件服务器上创建了一个裸存储库 之后 我将现有存储库的一个分支从我的桌面电脑推送到这个新的远程存储库 推送工作完美 似乎所有数据都已到达 gitbranch va 给了我正确的数据 但我无法在裸存储库上使用 git log
  • 某些 bash 脚本中使用的“function”关键字是什么?

    例如 Bash Prog 简介 HOWTO function foo 我在以下位置进行搜索查询info bash并查看 POSIX 的相关章节function关键字但没有找到 What is function某些 bash 脚本中使用的关键
  • Kubernetes 滚动更新是否可以从服务负载均衡器中优雅地删除 Pod

    负载均衡器后面的主机滚动更新的标准做法是优雅地停止轮换主机 这可以通过将主机标记为 不健康 并确保主机不再接收来自负载均衡器的请求来完成 Kubernetes 是否会对由 ReplicationController 管理并为 LoadBal