上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 配置BCIPod
容器引擎服务CCE
百度智能云容器引擎服务 CCE 配置BCIPod

文档简介:
配置CPU和Memory资源: 当前支持通过指定Pod中每个容器的resources.requests,对BCI实例的规格进行配置。若不指定,则默认单个容器使用的资源的是1vCPU+2GiB内存。对应BCI实例的计费资源为Pod中所有容器资源的总和。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

配置CPU和Memory资源

当前支持通过指定Pod中每个容器的resources.requests,对BCI实例的规格进行配置。若不指定,则默认单个容器使用的资源的是1vCPU+2GiB内存。对应BCI实例的计费资源为Pod中所有容器资源的总和。

不支持resources.limits字段,该字段的值在创建时会被忽略。

BCI实例的运行费用与实例资源配置和实例运行时长有关,详情可以参考BCI计费规则。

目前BCI Pod中,每个容器可以配置的CPU和Memory规格如下:

注意:1GiB=1024MiB, 1MiB=1024KiB,1KiB=1024B。

vCPU Memory
.25 vCPU 0.5GiB, 1GiB
.5 vCPU 1GiB, 1.5GiB, 2GiB
1 vCPU 2+n*0.5GiB, 0≤n≤4
2 vCPU 4+n*0.5GiB, 0≤n≤8
4 vCPU 8+n*0.5GiB, 0≤n≤16

如果配置了不合法的CPU和Memory规格,将无法成功创建BCI实例。

如果您有不在上述规格内的实例规格诉求,请提交工单。

镜像拉取

当前BCI仅支持拉取存储于以下仓库中的容器镜像:

  • 百度智能云容器镜像服务CCR(镜像地址为registry.baidubce.com/<namespace>/<name>:<tag>)
  • Docker Hub(镜像地址为 [<namespace>/]<name>:<tag>)
  • 百度智能云CCE镜像仓库(镜像地址为hub.baidubce.com/<namespace>/<name>:<tag>)

如果镜像为私有镜像,可以为BCI Pod配置imagePullSecrets拉取私有镜像,示例可以参考CCE集群中使用私有镜像实践。

存储

BCI Pod中每个容器rootfs可用空间为3GB。

当前BCI Pod支持挂载以下类型的volume:

  • ConfigMap
  • Secret
  • NFS(CFS)
  • EmptyDir(暂不支持指定sizeLimit,单个Pod的emptyDir可用存储空间为10GB)
  • PersistentVolumeClaim(PVC)

PVC类型当前仅支持CFS/NFS PVC挂载,详细操作可以参考使用文件存储CFS。

暂不支持挂载CDS云磁盘。

暂不支持subPath/subPathExpr挂载。

网络

如需要对集群内的ClusterIP发起访问,需要使用以下annotation在BCI Pod中注入kube-proxy sidecar:

  • "bci.virtual-kubelet.io/kube-proxy-enabled": "true"

其他网络访问方式与原生Pod一致。

Serverless集群中Pod访问ClusterIP的方式根据集群创建时的参数不同有所区别,详情请参考在Serverless集群中使用Service。若Cluster Service模式选择为BLB则无需在BCI Pod中注入kube-proxy sidecar。

绑定EIP

创建Pod时,可以通过如下annotation自动创建EIP并绑定。

  • "bci.virtual-kubelet.io/bci-create-eip": "true":创建实例时自动创建并绑定EIP,默认创建的EIP类型为按流量计费的后付费型实例。
  • "bci.virtual-kubelet.io/bci-create-eip-bandwidth": "100":自动创建的EIP带宽,单位Mbps,若不指定,默认创建的EIP带宽为100Mbps。

配置日志推送

当前BCI支持将Pod容器内日志推送到BLS,进行日志的持久化存储和结构化查询。通过如下annotation可以开启日志推送相关功能:

  • "bci.virtual-kubelet.io/bci-enable-log-push": "true": 为该Pod开启日志推送,开启后该pod内所有容器的日志会被推送到BLS对应的日志集内。
  • "bci.virtual-kubelet.io/bci-enable-auto-log-push-phases": "Failed": 如果Pod终态为特定的状态,则自动将Pod内容器日志推送到BLS。支持的value如下:

    • "bci.virtual-kubelet.io/bci-enable-auto-log-push-phases": "Failed,仅自动推送终态为Failed的Pod内容器日志;
    • "bci.virtual-kubelet.io/bci-enable-auto-log-push-phases": "Succeeded,仅自动推送终态为Succeeded的Pod内容器日志;
    • "bci.virtual-kubelet.io/bci-enable-auto-log-push-phases": "Succeeded,Failed,自动推送终态为Failed或Succeeded的Pod内容器日志

错误排查

若创建BCI Pod后,Pod状态变为ProviderFailed,代表BCI实例创建失败。可以通过kubectl describe po <pod名称> --namespace <命名空间>查看具体失败原因。

若创建BCI Pod后,实例状态长时间处于Creating,一般为BCI订单异常导致,可以通过查看pod annotation中的bci.virtual-kubelet.io/order-id字段查询到BCI订单ID,查询对应的订单失败原因。

支持的annotation列表

注意:annotation需要配置在PodSpec中,而不是DeploymentSpec中。

注意:配置网络,安全组和可用区相关annotation时,需要保证相互之间的一致性,如子网与安全组应该同属一个VPC,子网与可用区参数需要匹配,等等。没有在Pod中单独配置的情况下默认使用虚拟节点本身的配置。

注意:若通过annotation指定了子网参数,必须同时通过annotation指定可用区参数,可用区参数的值为子网所属可用区。

annotation 含义 示例
bci.virtual-kubelet.io/bci-logical-zone BCI实例所在可用区 "bci.virtual-kubelet.io/bci-logical-zone": "zoneB"
bci.virtual-kubelet.io/bci-subnet-id BCI实例所在子网短id "bci.virtual-kubelet.io/bci-subnet-id": "sbn-wiheujsumeqc"
bci.virtual-kubelet.io/bci-security-group-id BCI实例使用的安全组id "bci.virtual-kubelet.io/bci-security-group-id": "g-0c25zsii79hv"
bci.virtual-kubelet.io/bci-application BCI实例所属application "bci.virtual-kubelet.io/bci-application": "default"
bci.virtual-kubelet.io/bci-create-eip 自动为BCI实例创建并绑定EIP "bci.virtual-kubelet.io/bci-create-eip": "true"
bci.virtual-kubelet.io/bci-create-eip-bandwidth 自动为BCI实例创建的EIP带宽 "bci.virtual-kubelet.io/bci-create-eip-bandwidth": "100"
bci.virtual-kubelet.io/kube-proxy-enabled 为BCI实例注入kube-proxy sidecar,用于创建ClusterIP "bci.virtual-kubelet.io/kube-proxy-enabled": "true"
bci.virtual-kubelet.io/bci-enable-log-push 开启Pod日志推送,当前推送目标为BLS "bci.virtual-kubelet.io/bci-enable-log-push": "true"
bci.virtual-kubelet.io/bci-enable-auto-log-push-phases 对于进入Succeeded/Failed状态的pod,自动推送日志到BLS "bci.virtual-kubelet.io/bci-enable-auto-log-push-phases": "Failed"

BCI限制

相比原生Pod,BCI Pod暂不支持以下功能。

  • 不支持hostPath/hostPid。
  • 不支持privileged权限开放。
  • 不支持过大的configmap和secret volume挂载。
  • 不支持liveness/readiness probe。
  • 不支持init container。
  • 不支持subPath/subPathExpr挂载。
相似文档
  • 本文介绍百度云CCE Serverless Kubernetes集群的产品简介,核心优势,产品定价及与普通CCE集群的对比,帮助您快速了解和使用Serverless Kubernetes集群。 CCE Serverless Kubernetes集群是百度云容器引擎服务(CCE)推出的无服务器版本Kubernetes集群。
  • 本文介绍如何创建一个百度云CCE Serverless Kubernetes集群。 前提条件: 开通BCI产品,并选择开放BCI购买的地域。 创建集群: 登录CCE管理控制台。 点击创建集群,选择创建Serverless Kubernetes集群。若用户未开通BCI资源或BCI资源在对应地域不可用,创建按钮会置灰,将光标悬停在按钮会提示具体不可用的原因。
  • 本文介绍如何在serverless集群中使用Service。根据在创建集群的时候选择的不同Cluster Service模式--kube-proxy或BLB,有下面两种方式: BLB: 采用该模式的Service都绑定一个BLB,Service的ClusterIP是BLB的VPC IP。在该模式下,用户需要为BLB付费,适合少量Service,大量后端Pod的集群。
  • 随着万物互联时代到来,互联网智能终端设备数量急剧增加;随着 5G 通信网络普及,互联网数据规模呈现指数级增长。在传统云计算的中心化架构下,数据从终端到云中心的传输、存储、计算,已经无法满足终端用户对于时效、容量、算力的需求。将云计算的能力下沉边缘侧,充分发挥容器轻量级、便迁移、易复制的特性优势,使用 Kubernetes 进行应用的统一交付、运维、管控,已成为重要的发展趋势。
  • CCE边缘集群目前处于内测阶段,集群创建仅支持通过自定义参数方式进行创建。 前置条件: 账户已经开通BEC白名单; 账户已经开通BEC高性能网络白名单; 通过BEC console准备好用于部署集群Master的边缘云服务器,实例配置要求: Master 节点必须都属于一个实例组,数量为1、3或5;
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部