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

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视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间