指定vCPU和内存创建Pod
更新时间:2024-09-25
如果没有特殊的规格需求,推荐您指定vCPU和内存来创建BCI Pod(即BCI实例),系统会尝试使用多种BCC规格进行容器创建,以提供比BCC单规格更好的弹性和资源供应能力。
规格说明
创建BCI实例时,如果指定的vCPU和内存不符合要求,系统将自动按照BCI支持的规格进行规整。规整时将向最接近的BCI规格进行规整,同时需满足指定的vCPU和内存≤BCI规格的vCPU和内存。例如:创建BCI实例时,声明了7 vCPU,13 GiB内存,则实际创建的BCI实例为8 vCPU,16 GiB内存。
BCI支持的规格如下表所示
CPU/核 | 内存区间(GiB) |
0.25 | 0.5、1、2 |
0.5 | 1、2、3、4 |
1 | 1、2、4、8 |
2 | 4、8、16 |
4 | 8、16、32 |
8 | 16、32 |
12 | 24、48 |
16 | 32、64 |
32 | 64、128 |
说明:目前BCI实例仅支持挂载一块弹性网卡,暂不支持多网卡能力。
配置说明
指定vCPU和内存创建BCI Pod时,支持以下方式:
- 指定Pod内容器的vCPU和内存:通过定义Containers的limits或requests来指定,建议使用limits。
如果您没有指定,或者同时指定了limits、requests,实际生效情况如下:
场景 | Pod规格 |
全部未指定 | 按默认规格(1vCPU,2 GiB内存) |
仅指定limits | 汇总limits |
仅指定requests | 汇总requests |
同时指定limits和requests | 分别汇总limits和requests,按两者中较大值 |
说明:多个容器汇总limits、requests后的规格,系统会自动进行资源规整,并按规整后的规格进行计费,可通过kubectl describe po pxxx,查看事件
指定Pod内容器的vCPU和内存为Kubernetes默认方式。每个BCI Pod最多可以支持20个容器,每个容器的vCPU和内存规格可以自定义配置。
配置示例如下:
Plain Text
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: testpod
5 labels:
6 app: testpod
7spec:
8 replicas: 10
9 selector:
10 matchLabels:
11 app: testpod
12 template:
13 metadata:
14 labels:
15 app: testpod
16 spec:
17 nodeSelector:
18 type: "virtual-kubelet"
19 tolerations:
20 - key: "virtual-kubelet.io/provider"
21 operator: "Equal"
22 value: "baidu"
23 effect: "NoSchedule"
24 containers:
25 - name: gohttp
26 image: registry.baidubce.com/qa-test/gohttp:v0.0.1
27 imagePullPolicy: Always
28 command:
29 - sleep
30 - "36000"
31 resources:
32 limits:
33 cpu: 0.25
34 memory: 1Gi
35 requests:
36 cpu: 0.25
37 memory: 1Gi