searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

kubernetes的cpu management policies

2024-11-07 09:25:15
0
0

RoadMap

关键特性

<button class="headerButton">特性</button>
<button class="headerButton">说明</button>
CPUManager Enable container level CPU affinity support
CPUManagerPolicyAlphaOptions This allows fine-tuning of CPUManager policies, experimental, Alpha-quality options This feature gate guards a group of CPUManager options whose quality level is alpha. This feature gate will never graduate to beta or stable.
CPUManagerPolicyBetaOptions This allows fine-tuning of CPUManager policies, experimental, Beta-quality options This feature gate guards a group of CPUManager options whose quality level is beta. This feature gate will never graduate to stable.
CPUManagerPolicyOptions Allow fine-tuning of CPUManager policies.
CustomCPUCFSQuotaPeriod Enable nodes to change cpuCFSQuotaPeriod in kubelet config

特性门控

<button class="headerButton">特性</button>
<button class="headerButton">默认值</button>
<button class="headerButton">阶段</button>
<button class="headerButton">自从</button>
<button class="headerButton">直到</button>
CustomCPUCFSQuotaPeriod false Alpha 1.12
CPUManager false Alpha 1.8 1.9
CPUManager true Beta 1.10 1.25
CPUManager true GA 1.26
CPUManagerPolicyAlphaOptions false Alpha 1.23
CPUManagerPolicyBetaOptions true Beta 1.23
CPUManagerPolicyOptions false Alpha 1.22 1.22
CPUManagerPolicyOptions true Beta 1.23

 

如何使用

<button class="headerButton">k8s version</button>
<button class="headerButton">配置</button>
< 1.8 不支持
< 1.10

特性门控:

--feature-gates=CPUManager=true

配置参数:

--cpu-manager-policy=none | static

cpuManagerPolicy=none | static

 

>= 1.10

配置参数:

--cpu-manager-policy=none | static

cpuManagerPolicy=none | static

cpuManagerPolicy

可以通过两种方式配置cpu management policy:

  • kubelet命令行参数:--cpu-manager-policy=none | static
  • KubeletConfiguration:cpuManagerPolicy=none | static

cpu management policy有两种可能的值:

  • none:默认配置,通过CFS Quota来管理CPU
  • static:针对具有整数型 CPU requests 的 Guaranteed Pod, 它允许该类 Pod 中的容器访问节点上的独占 CPU 资源

none

 

static

static模式工作流程大致如下:

static模式下节点的资源要点如下:

  • 关于预留:
    • 设置cpumanager policy为static时,需要通过kubeReserved、systemReserved预留资源,否则可能出现共享池为空的情况
  • 资源池分类:
    • 最初时,除预留CPU外,所有CPU均归属到shared pool中,当pod满足整数CPU请求的Guaranteed时,从共享池移除相应资源归属到exclusive CPUs中
    • 共享池用于运行BestEffort、Burstable、小数CPU请求的Guaranteed pod
    • exclusive CPUs资源池运行整数CPU请求的Guaranteed pod

0条评论
0 / 1000
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
原创

kubernetes的cpu management policies

2024-11-07 09:25:15
0
0

RoadMap

关键特性

<button class="headerButton">特性</button>
<button class="headerButton">说明</button>
CPUManager Enable container level CPU affinity support
CPUManagerPolicyAlphaOptions This allows fine-tuning of CPUManager policies, experimental, Alpha-quality options This feature gate guards a group of CPUManager options whose quality level is alpha. This feature gate will never graduate to beta or stable.
CPUManagerPolicyBetaOptions This allows fine-tuning of CPUManager policies, experimental, Beta-quality options This feature gate guards a group of CPUManager options whose quality level is beta. This feature gate will never graduate to stable.
CPUManagerPolicyOptions Allow fine-tuning of CPUManager policies.
CustomCPUCFSQuotaPeriod Enable nodes to change cpuCFSQuotaPeriod in kubelet config

特性门控

<button class="headerButton">特性</button>
<button class="headerButton">默认值</button>
<button class="headerButton">阶段</button>
<button class="headerButton">自从</button>
<button class="headerButton">直到</button>
CustomCPUCFSQuotaPeriod false Alpha 1.12
CPUManager false Alpha 1.8 1.9
CPUManager true Beta 1.10 1.25
CPUManager true GA 1.26
CPUManagerPolicyAlphaOptions false Alpha 1.23
CPUManagerPolicyBetaOptions true Beta 1.23
CPUManagerPolicyOptions false Alpha 1.22 1.22
CPUManagerPolicyOptions true Beta 1.23

 

如何使用

<button class="headerButton">k8s version</button>
<button class="headerButton">配置</button>
< 1.8 不支持
< 1.10

特性门控:

--feature-gates=CPUManager=true

配置参数:

--cpu-manager-policy=none | static

cpuManagerPolicy=none | static

 

>= 1.10

配置参数:

--cpu-manager-policy=none | static

cpuManagerPolicy=none | static

cpuManagerPolicy

可以通过两种方式配置cpu management policy:

  • kubelet命令行参数:--cpu-manager-policy=none | static
  • KubeletConfiguration:cpuManagerPolicy=none | static

cpu management policy有两种可能的值:

  • none:默认配置,通过CFS Quota来管理CPU
  • static:针对具有整数型 CPU requests 的 Guaranteed Pod, 它允许该类 Pod 中的容器访问节点上的独占 CPU 资源

none

 

static

static模式工作流程大致如下:

static模式下节点的资源要点如下:

  • 关于预留:
    • 设置cpumanager policy为static时,需要通过kubeReserved、systemReserved预留资源,否则可能出现共享池为空的情况
  • 资源池分类:
    • 最初时,除预留CPU外,所有CPU均归属到shared pool中,当pod满足整数CPU请求的Guaranteed时,从共享池移除相应资源归属到exclusive CPUs中
    • 共享池用于运行BestEffort、Burstable、小数CPU请求的Guaranteed pod
    • exclusive CPUs资源池运行整数CPU请求的Guaranteed pod

文章来自个人专栏
智能边缘云弹性计算专栏
8 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0