kubernetes 节点关闭/崩溃恢复?

2024-01-28

我们有一个带有主节点 (foo-1) 和两个工作节点(foo-2 和 foo-3)的集群。我们有一个在 foo-3 上运行的 pod(由 Kubernetes 决定)。我们特意关闭 foo-3 作为实验。

我的期望是 Kubernetes 会“看到”关闭,并自动重新启动 foo-2 中的 pod。但是,这似乎并没有发生。事实上,它似乎认为 pod 仍在 foo-3 上运行。

经过五分钟的等待,Kubernetes 终于认识到集群节点已经消失,并通过重新启动 foo-2 上的 pod 来优雅地做出响应。五分钟对我们来说太长了,因为这不是一个复制的应用程序。我们怎样才能使超时时间大大缩短(例如 10 秒)?实际上,如果主机正常关闭(例如打补丁),效果应该是立竿见影的。


有一个--pod-eviction-timeout参数输入kube 控制器管理器 https://kubernetes.io/docs/admin/kube-controller-manager/默认为 5m:

 --pod-eviction-timeout duration    The grace period for deleting pods on failed nodes. (default 5m0s)

如果您想加快驱逐过程,则需要修改它。

但如果你想最大限度地减少 pod 的停机时间,当节点宕机时,你还需要修改以下参数:

kubelet: node-status-update-frequency=4s (default 10s)

kube-controller-manager: node-monitor-period=2s (default 5s)
kube-controller-manager: node-monitor-grace-period=16s (default 40s)
kube-controller-manager: pod-eviction-timeout=30s (default 5m)

当然,您始终可以使用副本 2 进行部署,即使一个节点出现故障,服务也会正常运行。

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

kubernetes 节点关闭/崩溃恢复? 的相关文章

随机推荐

  • Angular 客户端错误记录到服务器

    我想将客户端角度错误记录到服务器 所以我遵循this https stackoverflow com questions 43530156 angular 2 client side errors and this https stacko
  • 如何以编程方式触发 UIContextMenuInteraction 上下文菜单?

    我已将 UIButton 设置为 UINavigationController 内 UIViewController 中的 rightBarButtonItem 并将 iOS13 上下文菜单与其关联 长按按钮会按预期显示上下文菜单 有没有办
  • 内联样式无需引号即可工作

    例如 我有这把小提琴 http jsfiddle net qeBZk 您可以清楚地看到我缺少内联样式中的引号 但它仍然正确显示 据我所知 他们从来没有说过不使用引号是允许的 那么 是这样的 jsFiddle 中的一个错误 一个预期的功能 如
  • 开发中如何编辑Docker容器中的代码?

    我所有网站的代码都在下面 srv在我的容器中 我的 Dockerfile 使用 git 下载代码 并将其作为映像的一部分 以便更轻松地部署到生产环境 那么在开发中如何编辑代码呢 我认为使用卷是解决方案 例如 v docker myconta
  • 活动“死亡”时服务崩溃

    我有一个启动服务的活动 在我的活动中 startService new Intent this MyService class 在我的服务中 onStart Show notification int icon R drawable ico
  • 在 Vaadin 中获取组件的准确宽度和高度

    在vaadin中 如果我将宽度和高度设置为未定义 那么在使用getHeight getWidth 函数时我将得到 1 如果我使用 sizeful 我会得到 100 但是如何获得组件的准确宽度和高度呢 您可以通过调用 javascript 函
  • jquery:如何找到当前元素之前2个元素的元素

    我有一个如下所示的标记 h3 Paragraf3 dummytext h3 p a Quisque id odio Praesent venenatis metus at tortor pulvinar varius Lorem ipsum
  • Laravel Sail 数据库和用户未创建

    我刚刚使用 laravel sail 设置了一个 laravel 项目 由于某种原因 在构建过程中它没有创建给定的数据库和用户 我很困惑为什么 因为我觉得我已经配置了所有正确的东西 执行时 vendor bin sail artisan m
  • 使用未在 swagger 中公开的 HTTP 内容上传 API 文件

    我正在将 swagger 接口实现到现有的 Web API 中 当前的 API 控制器公开了一个异步上传函数 该函数使用Request Content异步传输图像 已使用的代码在中进行了解释this http www c sharpcorn
  • 如何在UIButton中实现两个IBAction而不重叠?

    I drag 2 IBA行动 from a UIButton 第一个是 touchDown 事件 第二个是拖动 Inside IBAction clickButton UIButton sender NSLog Click Button I
  • Rabbitmq-设计消息重放服务

    我正在尝试设计一种重播机制 使用户能够重播队列中的消息 对于包含多个队列和多个消费者的交换器 我提出的最佳设计是 创建一个记录器服务 它将 创建一个队列并将所有路由键绑定到它 消耗来自交换器的所有消息 将所有消息保存到数据库 订阅者请求重播
  • 选择一个有效的选择。该选择不是可用的选择之一

    在我的应用程序中 我有一个下拉列表 部门 它取决于之前从下拉列表 学院字段 中选择的值 我正在使用 ajax 来获取工作正常的新值 但是 当我尝试保存表单时 我得到选择一个有效的选择 该选择不是可用的选择之一 这是我的模型 from dja
  • php : 解析 html : 从 body 中提取脚本标签并在 之前注入?

    我不关心库是什么 但我需要一种从库中提取 元素的方法页面的内容 作为字符串 然后我想在 之前插入提取的 理想情况下 我想将 提取为两种类型 1 外部 具有 src 属性的 2 嵌入式 之间有代码的 到目前为止 我已经尝试过 phpDOM S
  • KSQL查询线程数

    有没有办法指定在 KSQL Server 上运行的 KSQL 查询应消耗的线程数 换句话说就是查询的并行性 KSQL Server 上可以运行的应用程序数量有限制吗 何时或如何决定横向扩展 是的 您可以指定ksql streams num
  • Linux 上的编译器支持 Objective-C 块吗?

    如何在Linux上编译以下代码 使用 Ubuntu 10 10 Maverick Meerkat include
  • 单点登录、同一服务器上的多个域、Ruby on Rails

    如果我有一台具有多个域的服务器 那么在同一域上实现单点登录解决方案的首选方法是什么 我目前正在使用该设备 在不同的域上放置了几百万个 cookie 但我陷入了困境 除了实现 SSO 之外 我还需要将各种 cookie 迁移到中央域 对于各种
  • MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA 不会调用 onActivityResult

    我试图用意图 MediaStore INTENT ACTION STILL IMAGE CAMERA 来调用相机 然而 使用StartActivityForResult不打电话onActivityResult 我该如何解决这个问题 get
  • 当 getBluetoothLeAdvertiser 返回一个对象时,为什么 isMultipleAdvertisementSupported() 返回 false?

    我正在尝试在我的设备上使用 BLE 传输 这是我使用的代码和输出 check BLE support Log i TAG BLE supported getPackageManager hasSystemFeature PackageMan
  • Numpy *.npz 内部文件结构

    任何人都可以分享一些有关 npz 中内部数据组织的信息吗 一些文档等 就是找不到东西 这是文档 npz 文件的格式 http docs scipy org doc numpy reference generated numpy savez
  • kubernetes 节点关闭/崩溃恢复?

    我们有一个带有主节点 foo 1 和两个工作节点 foo 2 和 foo 3 的集群 我们有一个在 foo 3 上运行的 pod 由 Kubernetes 决定 我们特意关闭 foo 3 作为实验 我的期望是 Kubernetes 会 看到