Kubernetes v1.36:暂停作业的可变容器资源(测试版)
内容提要
Kubernetes v1.36引入了暂停作业时可修改容器资源请求和限制的功能,允许在作业暂停期间调整CPU、内存和GPU等资源。这使集群管理员能够根据当前资源情况优化作业资源分配,避免了删除作业的麻烦。该功能在v1.36及以上版本中默认启用。
关键要点
-
Kubernetes v1.36引入了暂停作业时可修改容器资源请求和限制的功能,允许在作业暂停期间调整CPU、内存和GPU等资源。
-
该功能最初在v1.35中作为alpha版本引入,现在在v1.36中推广为beta版本,默认启用。
-
集群管理员可以根据当前资源情况优化作业资源分配,避免了删除作业的麻烦。
-
在暂停状态下,作业的资源请求和限制可以被修改,允许在作业恢复之前进行调整。
-
如果集群资源不足,队列控制器可以更新作业的资源请求,确保作业能够在可用资源下继续运行。
-
Kubernetes API服务器放宽了暂停作业的pod模板资源字段的不可变性约束,允许在特定条件下进行资源更新。
-
对于使用动态资源分配的工作负载,资源声明模板仍然是不可变的,必须单独重新创建以匹配任何资源更改。
延伸问答
Kubernetes v1.36的新功能是什么?
Kubernetes v1.36引入了暂停作业时可修改容器资源请求和限制的功能,允许在作业暂停期间调整CPU、内存和GPU等资源。
如何在Kubernetes中暂停作业并修改资源?
可以通过创建一个暂停的作业,然后使用kubectl edit命令更新其容器资源,最后通过kubectl patch命令恢复作业。
为什么Kubernetes允许在暂停状态下修改作业资源?
允许修改作业资源是为了根据当前集群资源情况优化作业资源分配,避免删除作业的麻烦。
Kubernetes v1.36中的资源更新有什么限制?
资源更新必须在作业的状态为非活动时进行,且资源限制必须大于或等于请求,扩展资源必须以整数形式指定。
动态资源分配在Kubernetes中如何影响作业?
使用动态资源分配的工作负载,其资源声明模板仍然是不可变的,必须单独重新创建以匹配任何资源更改。
Kubernetes v1.36的这个功能对集群管理员有什么好处?
集群管理员可以根据当前资源情况灵活调整作业资源,避免因资源不足而删除作业,提升资源利用效率。