首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >k8s如何无限制地使用比请求更多的cpu来管理容器?

k8s如何无限制地使用比请求更多的cpu来管理容器?
EN

Stack Overflow用户
提问于 2022-09-19 19:40:14
回答 1查看 75关注 0票数 1

当容器配置了CPU请求并没有限制时,它尝试使用比请求更多的CPU,而节点被充分利用时,我试图了解会发生什么,但是还有另一个具有可用资源的节点。

k8s会保持容器在其当前节点中的节流,还是会被移动到具有可用资源的另一个节点?我们知道当容器在这种情况下节流时,k8s是如何/何时决定移动它的吗?

我希望有任何额外的资源来阅读这个问题,因为我找不到任何关于这个特定场景的细节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 20:55:51

Q1)当容器配置为CPU请求而没有限制时会发生什么?

ANS:

如果不指定CPU限制,则为

如果没有为容器指定CPU限制,那么其中一种情况适用于:

容器在它可以使用的CPU资源上没有上限。容器可以使用它正在运行的节点上的所有可用CPU资源。

容器在具有默认CPU限制的命名空间中运行,容器被自动分配为默认限制。群集管理员可以使用LimitRange为CPU限制指定默认值。

如果指定CPU限制,但不指定CPU请求,则为

如果为容器指定CPU限制,但不指定CPU请求,Kubernetes将自动分配与该限制相匹配的CPU请求。类似地,如果容器指定了自己的内存限制,但没有指定内存请求,Kubernetes将自动分配与该限制匹配的内存请求。

( Q2)当节点被充分利用时,它尝试使用比请求更多的CPU,但是还有另一个具有可用资源的节点?

ANS:

Kubernetes调度程序是一个将Pods分配给节点的控制平面进程。调度器根据约束和可用资源确定调度队列中的每个Pod的哪些节点是有效位置。然后调度器对每个有效节点进行排序,并将Pod绑定到合适的节点。可以在集群中使用多个不同的调度器;kube-调度器是参考实现。有关调度和kube-调度程序组件的更多信息,请参见调度。

调度、抢占和驱逐

在库伯奈特,调度是指确保Pods与节点匹配,以便kubelet能够运行它们。抢占是指终止优先级较低的Pods,从而使优先级较高的Pods能够在节点上调度的过程。驱逐是在节点上终止一个或多个Pods的过程。

Q3( k8s )是将容器保持在其当前节点中的节流,还是将其移动到具有可用资源的另一个节点?

ANS:

Pod断裂

豆荚破坏是指节点上的Pods被自愿或非自愿地终止的过程。

自动中断是由应用程序所有者或群集管理员故意启动的。非自愿中断是无意的,可能由不可避免的问题引发,如节点耗尽资源,或意外删除。

除非有人(一个人或一个控制器)销毁它们,或者有不可避免的硬件或系统软件错误,否则自愿或非自愿中断口袋妖怪不会消失。

我们把这些不可避免的情况称为非自愿中断申请。

的例子有:

  • 支持节点的物理机器的硬件故障
  • 群集管理员错误地删除VM (实例)
  • 云提供程序或管理程序失败使VM消失。
  • 内核恐慌
  • 由于群集网络分区,节点从群集中消失。
  • 由于节点为资源枯竭而驱逐一个荚。

建议:

污点和容忍一起工作,以确保豆荚不会被安排到不合适的节点上。一个或多个污染应用于一个节点;这表明该节点不应该接受任何不容忍这些污染的荚。

命令:

代码语言:javascript
复制
kubectl taint nodes node1 key1=value1:NoSchedule

示例

代码语言:javascript
复制
kubectl taint nodes node1 key1=node.kubernetes.io/disk-pressure:NoSchedule
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73778501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档