BCI Pod概述
BCI能为Kubernetes提供基础的容器Pod运行环境,每个BCI实例相当于一个Pod。本文介绍BCI Pod的配置、创建方式和生命周期。
基本配置
基于Kubernetes社区的Virtual Kubelet技术,BCI支持以虚拟节点(VNode)的形式接入到Kubernetes集群中。一个BCI容器实例相当于一个Pod,包含以下几部分配置:
- 规格 规格包括vCPU、内存等配置,定义了BCI Pod的计算性能等。创建BCI Pod时,您可以指定BCI规格(直接指定vCPU和内存)来满足资源、增强网络能力等特殊需求。BCI当前支持的规格详见规格说明
-
容器镜像 一个BCI Pod由一个或者多个容器组成。部署容器应用时,需要准备好容器镜像。容器镜像包含容器应用运行所需的程序、库文件、配置等。
-
网络 一个BCI Pod将占用所属VPC下的交换机的一个弹性网卡资源,默认具备一个内网IP地址。如果需要连接公网,例如需要拉取公网镜像。则需要为BCI Pod绑定EIP,或者为所属VPC绑定NAT网关,更多信息详见如下文档
- 配置公网访问,参见连接公网
- 配置Pod访问集群内ClusterIP Service,参看配置BCI Pod访问集群内Service
- 配置BCI Service集群外访问,参看通过Service访问BCI服务
- 配置网络安全组,参看配置网络安全组
- 配置自定义DNSconfig, 参看支持自定义DNSConfig
-
存储 一个BCI Pod默认有20 GiB的临时存储空间,您可以根据需要增加临时存储空间。如果想要保留存储的文件,建议使用外挂数据卷作持久化存储。BCI支持挂载如下数据卷
- EmptyDir, 详细说明见文档挂载EmptyDir数据卷
- ConfigMap, 详细说明见文档挂载ConfigMap数据卷
- CFS, 详细说明见文档挂载CFS文件存储
- PFS, 详细说明见文档挂载PFS并行文件存储
- BOS, 详细说明见文档挂载BOS数据卷
创建方式
创建方式概述
根据业务场景和使用场景,BCI Pod支持指定vCPU和内存的定义方式,对应计费模式如下:
创建方式 | 计费说明 | 相关文档 |
---|---|---|
指定vCPU和内存 | 根据您创建时指定的vCPU和内存进行计费。对于不满足要求的vCPU和内存规格,系统将自动进行规整,并按自动规整后的规格进行计费。 | 指定vCPU和内存创建Pod |
多可用区创建实例 | 应对可用区库存不足情况,您可以使用多可用区创建实例 | 多可用区创建实例) |
创建GPU实例 | BCI也支持创建GPU实例 | 创建GPU实例 |
说明 更多关于BCI Pod计费的信息,请参见BCI实例计费。
调度方式
- 手动调度Pod到BCI, 详细说明见将Pod调度到VNode。
- 使用混合调度插件调度到BCI, 详细说明和步骤见混合调度。
优化使用成本
根据您的业务特征,在按量付费使用BCI的基础上,您还可以使用预留实例券来降低资源使用成本。
- 对于长时间运行的稳定业务负载,推荐使用预留实例券来抵扣BCI实例账单。具体操作,请参见使用预留实例券。
应对库存不足
BCI提供容器的云上运行资源,在大规模创建BCI Pod的场景下,您所在地域和可用区可能会存在指定资源售罄的情况,建议您使用多可用区的方式创建资源,保证创建成功率。具体操作,请参见:
日志
BCI支持将日志持久化存储到百度日志服务BLS中,详细操作步骤见BLS日志采集方式
监控
BCI支持常用实例指标,您可以通过如下方式查看指标
- 从BCM(百度云监控)控制台查看,具体方式见查看实例监控指标。
- 通过VK查看获取使用指标,具体说明见通过VK获取实例监控指标。您还可根据文档配置指标收集。
运维
BCI提供运维能力,您可以通过使用coredump分析实例程序异常配置将coredump文件存入CFS中或者对象存储BOS中,用于分析程序异常。