我已经推出了一个带有静态CPU管理策略的Kubernetes吊舱(单容器)。它的CPU请求/限制为10。这一切似乎都如预期的那样工作:
cat /sys/fs/cgroup/cpuset/cpuset.cpus
11-20我现在要做的是为两个非常特定的线程预留两个内核,这些线程对上下文切换非常敏感。是否有可能用这些CPU中的几个创建一个子cpuset?cgroup文件系统以只读方式挂载:
mount | fgrep cpuset
cgroup on /sys/fs/cgroup/cpuset (ro,nosuid,nodev,noexec,relatime,cpuset)…因此,通常使用创建子cpusets的过程是行不通的。我还没有找到一种将/sys/fs/cgroup/cpuset/挂载为读写的方法。
我的意思是,这是所有预期的行为,不支持允许荚进一步细分它们的CPU。还有,有什么方法可以在我失踪的舱内创建一个cpuset吗?
发布于 2022-05-19 12:23:41
您可以尝试将SYS_ADMIN权限设置为容器,但它可能会导致一些安全问题。
例如:
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-deployment
namespace: test
spec:
replicas: 1
selector:
matchLabels:
app: demo-deployment
template:
metadata:
labels:
app: demo-deployment
spec:
containers:
- name: demo-deployment
image: ---
securityContext:
runAsUser: 0
capabilities:
add: [SYS_ADMIN]
volumeMounts:
- name: cgroup
mountPath: /sys/fs/cgroup
volumes:
- name: cgroup
hostPath:
path: /sys/fs/cgroup
type: Directoryhttps://stackoverflow.com/questions/72296950
复制相似问题