在现场/可抢占实例上处理终止通知。

termination-handler的Python项目详细描述


终止处理程序

PyPIPyPI - License

关于

termination-handler处理当场/可抢占实例的终止通知。

例如,如果部署在kubernetes集群上,并且云提供程序发出了终止通知,termination-handler会在云提供程序将节点带走之前耗尽正在运行的节点。

受aws的pusher/k8s-spot-termination-handler启发,termination-handler在不同的环境(提供者、编排者…)中运行相同工具的需求激增

功能

  • 支持多个云提供商(aws、gcp)。
  • 支持多种调度和编排工具(kubernetes、nomad)。
  • 小而可扩展。

文档

待定

用法

部署到kubernetes

k8s docker映像可在^{}获得,kubernetes清单示例可在deploy/k8s文件夹中获得。

若要使用RBAC在群集中部署,请应用deploy/k8s文件夹中的所有清单(守护进程、ClusterRole、ClusterRoleBinding和ServiceAccount),但取消对Daemonset中^{}的注释。

要求

要使termination-handler正确调度,您需要在spot/preemptible实例上有一个标识标签。

我们将标签node-role.kubernetes.io/spot-worker添加到spot/preemptible实例中,因此这是Daemonset节点选择器中的默认值。

nodeSelector:"node-role.kubernetes.io/spot-worker":"true"

为此,请在kubelet中添加以下标志:

--node-labels="node-role.kubernetes.io/spot-worker=true"

配置

要为drain命令定义任何自定义参数,可以使用DRAIN_PARAMETERS环境属性。如果未定义,则默认参数为--grace-period=120 --force --ignore-daemonsets

env:-name:DRAIN_PARAMETERSvalue:'--grace-period=120--force--ignore-daemonsets--delete-local-data'

演示模式

待定

部署到Nomad

待定

如何贡献

  1. 检查打开的问题或打开一个新的问题,开始围绕功能想法或错误的讨论。
  2. 从github上的forkthe repository开始对主分支(或其分支)进行更改。
  3. 编写一个测试,显示错误已修复或功能按预期工作。
  4. 发送一个pull request和错误me,直到合并并发布为止。

有些东西会很棒:

  • 对azure云提供商的支持。
  • 支持执行处理程序(某些命令或任务)
  • 支持通知(slack,datadog..)
  • 选项以忽略选定的云提供程序发现。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
序列化反序列化java。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)