设置Pod故障处理策略
本文介绍如何设置ECI Pod的故障处理策略。
配置说明
在虚拟节点上创建ECI Pod时,可能会因为库存不足等原因导致Pod创建失败,默认情况下,系统会自动进行重调度,尝试重新创建Pod。您可以通过添加k8s.aliyun.com/eci-fail-strategy
的Annotation来修改Pod故障处理策略,设置Pod创建失败后是否尝试重新创建。取值说明如下:
取值 | 说明 | 场景 |
fail-back | 失败自动恢复。即Pod创建失败后自动尝试重新创建。此时,Pod会保持Pending状态,直到创建成功变为Running状态。 | 侧重成功率,能够接受Pod延迟交付。 |
fail-over | 失败转移。效果等同于fail-back。 | |
fail-fast | 快速失败。Pod创建失败后直接报错。Pod显示为ProviderFailed状态,由上层编排决定是否重试,或者把Pod创建调度到普通节点。 | 侧重效率,希望Pod快速交付;有完善的失败处理逻辑。 |
说明
不推荐通过k8s.aliyun.com/eci-reschedule-enable
设置重调度。
配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-fail-strategy: "fail-fast" #设置Pod创建失败后直接报错,不再重新创建
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80