云容器引擎 CCE-CPU管理策略:为Pod设置独占CPU

时间:2024-05-31 08:37:30

为Pod设置独占CPU

Pod设置独占CPU(即CPU绑核)有如下几点要求:

  • 节点上开启静态(static)CPU管理策略,具体方法请参见开启CPU管理策略
  • Pod的定义里都要设置requests和limits参数,requests和limits必须为整数,且数值一致。
  • 如果有init container需要设置独占CPU,init container的requests参数建议与业务容器设置的requests参数一致(避免业务容器未继承init container的CPU分配结果,导致CPU manager多预留一部分CPU)。更多信息请参见App Containers can't inherit Init Containers CPUs - CPU Manager Static Policy

在使用时您可以利用调度策略(亲和与反亲和)将如上配置的Pod调度到开启静态(static)CPU管理策略的节点上,这样就能够达到独占CPU的效果。

设置独占CPU的YAML示例如下:
kind: Deployment
apiVersion: apps/v1
metadata:
  name: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
        - name: container-1
          image: nginx:alpine
          resources:
            requests:
              cpu: 2           # 必须为整数,且需要与limits中一致
              memory: 2048Mi
            limits:
              cpu: 2           # 必须为整数,且需要与requests中一致
              memory: 2048Mi
      imagePullSecrets:
        - name: default-secret
support.huaweicloud.com/usermanual-cce/cce_10_0351.html