k8s pod 绑核

一、概述

默认配置下,kubelet/Linux 使用 CFS(完全公平调度)算法来为 Pod 分配 CPU,工作负载(Pod 中的进程)会被调度到不同的可用的 CPU 核心,而且大多数工作负载对这种迁移带来的性能损失并不敏感。

CFS 是 Linux 内核中 SCHED_NORMAL 类任务(普通进程)的默认调度算法,摒弃了原先的固定时间片优先级概念,致力于公平地将 CPU 时间分配给任务。

但是 CPU 缓存的亲和性和调度延迟会对少数进程带来显著影响,这类工作负载需要独占 CPU(“绑核”)。

之前的文章中已经讲了如何在生产环境中进行资源的预留和pod的绑核策略(https://blog.youkuaiyun.com/weixin_40579389/article/details/134147788?spm=1001.2014.3001.5501)

本篇文章来讲解k8s pod绑核在cgroup中的实现。

二、环境信息

1:k8s version
[root@node1 ~]# kubectl get node 
NAME    STATUS   ROLES                  AGE   VERSION
node1   Ready    control-plane,master   44d   v1.23.17
node2   Ready    control-plane,master   44d   v1.23.17
node3   Ready    control-plane,master   44d   v1.23.17


#########################
2:kubelet配置
[root@node1 ~]# ps -ef | grep kubelet
root       7080      1 25 Feb21 ?        1-05:16:18 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime=remote --container-runtime-endpoint=/run/containerd/containerd.sock --node-ip=172.28.30.163 --node-labels=topology.kubeclipper.io/region=mgmt,kubeclipper.io/agent-id=c9
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值