k8s集群cpu资源调度方式修改

背景

业务场景属于计算密集型的时候,容器分配固定的cpu核可以减少上下文切换带来的性能损耗

修改流程

注意:多节点配置应该需要到每个节点修改kubelet配置

修改kubelet配置

kubelet配置文件默认在 /var/lib/kubelet/config.yaml , 这个文件是kubelet启动时–config的值

# 修改 none -> static
cpuManagerPolicy: static
# 添加下面两个配置,系统预留资源,酌情分配
systemReserved:
  cpu: 500m
  memory: 500Mi
kubeReserved:
  cpu: 500m
  memory: 500Mi

删除原有调度状态文件

rm -f /var/lib/kubelet/cpu_manager_state

重启kubelet

systemctl daemon-reload && systemctl restart kubelet
# 查看状态
systemctl status kubelet

修改k8s部署配置

pod 的资源分配需要属于 Guaranteed QoS 类型,并且分配的CPU资源需要是大于"1"的整数 , 容器才会被赋予独占的CPU资源

比如下面这样 requests 值等于 limits

resources:
  requests:
    cpu: 4000m
    memory: 4000Mi
  limits:
    cpu: 4000m
    memory: 4000Mi

或者只指定 limits

resources:
  limits:
    cpu: 4000m
    memory: 4000Mi

要使用显卡的特殊配置

一旦把k8s资源调度方式修改为static都需要添加权限配置才能正常访问宿主的显卡添加在ymal的containers字段下

securityContext:
   privileged: true

你可能感兴趣的:(运维,k8s,kubernetes,运维)