指定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和内存规格可以自定义配置。
配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: testpod
labels:
app: testpod
spec:
replicas: 10
selector:
matchLabels:
app: testpod
template:
metadata:
labels:
app: testpod
spec:
nodeSelector:
type: "virtual-kubelet"
tolerations:
- key: "virtual-kubelet.io/provider"
operator: "Equal"
value: "baidu"
effect: "NoSchedule"
containers:
- name: gohttp
image: registry.baidubce.com/qa-test/gohttp:v0.0.1
imagePullPolicy: Always
command:
- sleep
- "36000"
resources:
limits:
cpu: 0.25
memory: 1Gi
requests:
cpu: 0.25
memory: 1Gi