设置BCI Pod的故障处理策略

容器实例 BCI

  • 产品定价
  • 功能发布记录
  • 操作指南(旧)
    • 创建容器组
  • 产品描述
    • 产品特性
    • 使用限制
    • 核心概念
    • 什么是BCI?
  • BCI服务等级协议SLA
    • BCI服务等级协议SLA
  • API参考
    • 通用说明
    • 附录
    • 服务域名
    • 公共请求头与响应头
    • 错误码
    • 概述
    • 实例相关接口
      • 批量删除实例
      • 查询实例列表
      • 创建实例
      • 删除实例
      • 查询实例详情
    • 镜像缓存相关接口
      • 创建镜像缓存
      • 查询镜像缓存列表
      • 批量删除镜像缓存
  • 操作指南
    • 通过BCI控制台和API使用BCI
      • 多用户访问控制
      • 运维
        • 使用coredump分析实例程序异常
      • 网络
        • 连接公网
      • 监控
        • 查看实例监控指标
      • 镜像
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 镜像缓存
          • 管理镜像缓存
          • 镜像缓存概述
      • 存储
        • 挂载CFS数据卷
        • 挂载EmptyDir数据卷
        • 挂载ConfigMap数据卷
      • 容器配置
        • 设置容器启动命令和参数
      • 通过控制台使用BCI
        • 连接BCI实例
        • 删除BCI实例
        • 创建BCI实例
        • 查看BCI实例的详情和事件
      • BCI Pod
        • BCI Pod生命周期
        • BCI Pod概述
      • 成本优化
        • 预留实例券
          • 购买预留实例券
          • 预留实例券与实例的匹配
          • 查看预留实例券使用明细
          • 查看可抵扣的实例
          • 预留实例券概述
    • 通过CCE使用BCI
      • 运维
        • 使用coredump分析实例程序异常
        • 常见问题
      • 网络
        • 配置BCI Pod所属安全组
        • 连接公网
        • 支持自定义DNSConfig
        • 通过Service访问BCI服务
        • 配置BCI Pod访问集群内Service
      • 监控
        • 查看实例监控指标
        • 通过VK获取实例监控指标
      • 镜像
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 镜像缓存
      • 存储
        • 挂载容器标准输出日志
        • 挂载EmptyDir数据卷
        • 挂载CFS文件存储
        • 挂载ConfigMap数据卷
        • 挂载BOS数据卷
        • 挂载PFS并行文件存储
      • 对接BCI
        • 对接概述
        • 混合调度
        • 通过标签将Pod调度到VNode上运行
        • 将Pod调度到VNode
        • BCI自定义Condition
      • 容器配置
        • 设置容器时区
        • 容器生命周期回调
        • 在容器内获取元数据
        • 配置NTP服务
        • 强制终止Sidecar容器并忽略容器退出码
        • 使用探针对容器进行健康检查
        • 忽略Sidecar容器的NotReady状态
        • 设置容器终止消息
        • 设置容器启动命令和参数
      • 日志
        • BLS日志采集使用方式
      • BCI Pod
        • 指定vCPU和内存创建Pod
        • BCI Pod生命周期
        • BCI Pod概述
        • 自定义设置BCI Pod的hosts
        • 创建GPU实例
        • 配置资源规整时忽略特定容器
        • 设置BCI Pod的故障处理策略
        • 为BCI Pod绑定自定义标签
        • 自定义设置BCI Pod的最大Pending时长
        • BCI Pod Annotation
        • 配置bci-profile
        • 多可用区创建实例
      • 成本优化
        • 预留实例券
          • 购买预留实例券
          • 预留实例券与实例的匹配
          • 查看预留实例券使用明细
          • 查看可抵扣的实例
          • 预留实例券概述
    • 通过自建集群使用BCI
      • 运维
        • 使用coredump分析实例程序异常
      • 监控
        • 查看实例监控指标
        • 通过VK获取实例监控指标
      • 存储管理
        • 挂载EmptyDir数据卷
        • 挂载CFS文件存储
        • 挂载ConfigMap数据卷
        • 挂载PFS并行文件存储
      • 镜像管理
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 使用镜像缓存
          • 查询镜像缓存
          • 镜像缓存概述
      • 对接BCI
        • 自建Kubernetes集群对接VNode
        • 对接概述
        • 混合调度
        • 通过标签将Pod调度到VNode上运行
        • 将Pod调度到VNode
        • BCI自定义condition
      • 容器配置
        • 设置容器时区
        • 容器生命周期回调
        • 在容器内获取元数据
        • 配置NTP服务
        • 强制终止Sidecar容器并忽略容器退出码
        • 使用探针对容器进行健康检查
        • 忽略Sidecar容器的NotReady状态
        • 设置容器终止消息
        • 设置容器启动命令和参数
      • 网络管理
        • 配置BCI Pod所属安全组
        • 连接公网
        • 支持自定义DNSConfig
        • 配置BCI Pod访问集群内Service
      • 预留实例券
        • 购买预留实例券
        • 预留实例券与实例的匹配
        • 查看预留实例券使用明细
        • 查看可抵扣的实例
        • 预留实例券概述
      • 日志
        • 采集日志到百度云BLS
        • bls日志采集使用方式
      • BCI Pod
        • 指定vCPU和内存创建Pod
        • BCI Pod生命周期
        • BCI Pod概述
        • 自定义设置BCI Pod的hosts
        • 创建GPU实例
        • 配置资源规整时忽略特定容器
        • 设置BCI Pod的故障处理策略
        • 为BCI Pod绑定自定义标签
        • 自定义设置BCI Pod的最大Pending时长
        • BCI Pod Annotation
        • 多可用区创建实例
  • SDK
    • Java-SDK
      • 异常处理
      • 版本变更记录
      • 初始化
      • 安装SDK工具包
      • 概述
      • 实例相关
        • 批量删除实例
        • 查询实例列表
        • 创建实例
        • 删除实例
        • 查询实例详情
    • Go-SDK
      • 异常处理
      • BCI实例
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

容器实例 BCI

  • 产品定价
  • 功能发布记录
  • 操作指南(旧)
    • 创建容器组
  • 产品描述
    • 产品特性
    • 使用限制
    • 核心概念
    • 什么是BCI?
  • BCI服务等级协议SLA
    • BCI服务等级协议SLA
  • API参考
    • 通用说明
    • 附录
    • 服务域名
    • 公共请求头与响应头
    • 错误码
    • 概述
    • 实例相关接口
      • 批量删除实例
      • 查询实例列表
      • 创建实例
      • 删除实例
      • 查询实例详情
    • 镜像缓存相关接口
      • 创建镜像缓存
      • 查询镜像缓存列表
      • 批量删除镜像缓存
  • 操作指南
    • 通过BCI控制台和API使用BCI
      • 多用户访问控制
      • 运维
        • 使用coredump分析实例程序异常
      • 网络
        • 连接公网
      • 监控
        • 查看实例监控指标
      • 镜像
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 镜像缓存
          • 管理镜像缓存
          • 镜像缓存概述
      • 存储
        • 挂载CFS数据卷
        • 挂载EmptyDir数据卷
        • 挂载ConfigMap数据卷
      • 容器配置
        • 设置容器启动命令和参数
      • 通过控制台使用BCI
        • 连接BCI实例
        • 删除BCI实例
        • 创建BCI实例
        • 查看BCI实例的详情和事件
      • BCI Pod
        • BCI Pod生命周期
        • BCI Pod概述
      • 成本优化
        • 预留实例券
          • 购买预留实例券
          • 预留实例券与实例的匹配
          • 查看预留实例券使用明细
          • 查看可抵扣的实例
          • 预留实例券概述
    • 通过CCE使用BCI
      • 运维
        • 使用coredump分析实例程序异常
        • 常见问题
      • 网络
        • 配置BCI Pod所属安全组
        • 连接公网
        • 支持自定义DNSConfig
        • 通过Service访问BCI服务
        • 配置BCI Pod访问集群内Service
      • 监控
        • 查看实例监控指标
        • 通过VK获取实例监控指标
      • 镜像
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 镜像缓存
      • 存储
        • 挂载容器标准输出日志
        • 挂载EmptyDir数据卷
        • 挂载CFS文件存储
        • 挂载ConfigMap数据卷
        • 挂载BOS数据卷
        • 挂载PFS并行文件存储
      • 对接BCI
        • 对接概述
        • 混合调度
        • 通过标签将Pod调度到VNode上运行
        • 将Pod调度到VNode
        • BCI自定义Condition
      • 容器配置
        • 设置容器时区
        • 容器生命周期回调
        • 在容器内获取元数据
        • 配置NTP服务
        • 强制终止Sidecar容器并忽略容器退出码
        • 使用探针对容器进行健康检查
        • 忽略Sidecar容器的NotReady状态
        • 设置容器终止消息
        • 设置容器启动命令和参数
      • 日志
        • BLS日志采集使用方式
      • BCI Pod
        • 指定vCPU和内存创建Pod
        • BCI Pod生命周期
        • BCI Pod概述
        • 自定义设置BCI Pod的hosts
        • 创建GPU实例
        • 配置资源规整时忽略特定容器
        • 设置BCI Pod的故障处理策略
        • 为BCI Pod绑定自定义标签
        • 自定义设置BCI Pod的最大Pending时长
        • BCI Pod Annotation
        • 配置bci-profile
        • 多可用区创建实例
      • 成本优化
        • 预留实例券
          • 购买预留实例券
          • 预留实例券与实例的匹配
          • 查看预留实例券使用明细
          • 查看可抵扣的实例
          • 预留实例券概述
    • 通过自建集群使用BCI
      • 运维
        • 使用coredump分析实例程序异常
      • 监控
        • 查看实例监控指标
        • 通过VK获取实例监控指标
      • 存储管理
        • 挂载EmptyDir数据卷
        • 挂载CFS文件存储
        • 挂载ConfigMap数据卷
        • 挂载PFS并行文件存储
      • 镜像管理
        • 使用CCR镜像仓库
        • 使用第三方镜像仓库
        • 使用镜像缓存
          • 查询镜像缓存
          • 镜像缓存概述
      • 对接BCI
        • 自建Kubernetes集群对接VNode
        • 对接概述
        • 混合调度
        • 通过标签将Pod调度到VNode上运行
        • 将Pod调度到VNode
        • BCI自定义condition
      • 容器配置
        • 设置容器时区
        • 容器生命周期回调
        • 在容器内获取元数据
        • 配置NTP服务
        • 强制终止Sidecar容器并忽略容器退出码
        • 使用探针对容器进行健康检查
        • 忽略Sidecar容器的NotReady状态
        • 设置容器终止消息
        • 设置容器启动命令和参数
      • 网络管理
        • 配置BCI Pod所属安全组
        • 连接公网
        • 支持自定义DNSConfig
        • 配置BCI Pod访问集群内Service
      • 预留实例券
        • 购买预留实例券
        • 预留实例券与实例的匹配
        • 查看预留实例券使用明细
        • 查看可抵扣的实例
        • 预留实例券概述
      • 日志
        • 采集日志到百度云BLS
        • bls日志采集使用方式
      • BCI Pod
        • 指定vCPU和内存创建Pod
        • BCI Pod生命周期
        • BCI Pod概述
        • 自定义设置BCI Pod的hosts
        • 创建GPU实例
        • 配置资源规整时忽略特定容器
        • 设置BCI Pod的故障处理策略
        • 为BCI Pod绑定自定义标签
        • 自定义设置BCI Pod的最大Pending时长
        • BCI Pod Annotation
        • 多可用区创建实例
  • SDK
    • Java-SDK
      • 异常处理
      • 版本变更记录
      • 初始化
      • 安装SDK工具包
      • 概述
      • 实例相关
        • 批量删除实例
        • 查询实例列表
        • 创建实例
        • 删除实例
        • 查询实例详情
    • Go-SDK
      • 异常处理
      • BCI实例
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 容器实例BCI
  • arrow
  • 操作指南
  • arrow
  • 通过CCE使用BCI
  • arrow
  • BCI Pod
  • arrow
  • 设置BCI Pod的故障处理策略
本页目录
  • 配置说明
  • 配置示例

设置BCI Pod的故障处理策略

更新时间:2025-08-20

默认情况下,BCI Pod创建失败后,系统会自动重试尝试创建。如果您希望尽快得到创建结果以便及时处理故障,可以修改BCI Pod的故障处理策略。

配置说明

在虚拟节点上创建BCI Pod时,可能会因为库存不足等原因导致Pod创建失败,默认情况下,系统会自动进行重调度,尝试重新创建Pod。您可以通过添加bci.virtual-kubelet.io/bci-fail-strategy的Annotation来修改BCI Pod的故障处理策略,设置BCI Pod创建失败后是否尝试重新创建。

重要

  • Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
  • 仅支持在创建BCI Pod时添加BCI相关Annotation来生效BCI功能,更新BCI Pod时添加或者修改BCI相关Annotation均不会生效。

bci.virtual-kubelet.io/bci-fail-strategy的取值说明如下:

取值 说明 场景
fail-back 失败自动恢复。即Pod创建失败后自动尝试重新创建。此时,Pod会保持Pending状态,直到创建成功变为Running状态。 侧重成功率,能够接受Pod延迟交付。
fail-over 失败转移。效果等同于fail-back。 侧重成功率,能够接受Pod延迟交付。
fail-fast 快速失败。Pod创建失败后直接报错。Pod显示为Pending状态,由上层编排决定是否重试,或者把Pod创建调度到普通节点。 侧重效率,希望Pod快速交付,有完善的失败处理逻辑。

配置示例

YAML
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4  name: nginx
5  labels:
6    app: nginx
7spec:
8  replicas: 1
9  selector:
10    matchLabels:
11      app: nginx
12  template:
13    metadata:
14      name: nginx
15      labels:
16        app: nginx
17      annotations:
18        bci.virtual-kubelet.io/bci-fail-strategy: "fail-fast"  #设置Pod故障处理策略,不再重新创建
19    spec:
20      containers:
21      - name: nginx
22        image: nginx:1.7.9
23        ports:
24        - containerPort: 80
25        resources:
26          limits:
27            cpu: "1"
28            memory: "2Gi"
29      restartPolicy: Always

以上YAML示例中,BCI Pod的故障处理策略为fail-fast。如果Pod长时间Pending,您可以查看Pod status.reason。

  • 如果Pod status.reason为ContainerInstanceScheduleFailed,则表示BCI调度失败。此时查看Pod status condition,通过ContainerInstanceCreated的reason和message可以确定具体原因,进而采取相应措施,例如修改指定的规格,设置多可用区等。
  • 如果Pod status.reason为空(fail-fast一般不会出现该情况),可以查看Pod status condition,通过ContainerInstanceCreated的status确认调度状态。

    • 如果ContainerInstanceCreated为False,且reason不是Creating,则表示BCI调度还未成功,需要继续等待。 以库存不足创建BCI Pod失败为例,当Pod的故障处理策略为fail-fast时,Pod status condition为ContainerInstanceCreated的示例如下:

说明

如果Pod的故障处理策略为fail-back,Pod创建失败后系统会自动尝试重调度。此时,Pod status.reason不会显示ContainerInstanceScheduleFailed,您也可以查看Pod status condition,通过ContainerInstanceCreated的reason和message确定当前调度周期内调度失败的原因。

Plain Text
1{
2    "conditions": [
3        {
4            "lastProbeTime": "2025-03-04T15:13:26Z",
5            "lastTransitionTime": "2025-03-04T15:13:26Z",
6            "message": "Create BCI failed because the specified instance is out of stock",
7            "reason": "NoStock",
8            "status": "False",
9            "type": "ContainerInstanceCreated"
10        }
11    ],
12    "message": "Create BCI failed because the specified instance is out of stock",
13    "reason":"ContainerInstanceScheduleFailed",
14    "phase": "Pending"
15}

上一篇
配置资源规整时忽略特定容器
下一篇
为BCI Pod绑定自定义标签