对不起,K8s的新手...
我正在使用k8s cronjob将etcd快照推送到我们的s3对象存储中。每个群集有7个etcd节点,我将作业配置为以7的并行度运行7次以完成操作。使用容差和节点选择器,将作用域限制为我的etcd节点。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: etcd-backup-to-s3
namespace: backups
spec:
concurrencyPolicy: Allow
failedJobsHistoryLimit: 10
jobTemplate:
metadata:
creationTimestamp: null
spec:
activeDeadlineSeconds: 300
backoffLimit: 3
completions: 7
parallelism: 7
<SNIP>
有没有一种方法可以配置它来处理一个或多个etcd节点可能处于脱机状态?
ie:动态计算“完成”所需值的任何方式,以便在运行时可以确定当时有多少etcd节点在线。
还是我应该采用一种完全不同的方式?
感谢您的帮助。
答案 0 :(得分:0)
如果在连接超时的情况下作业中的脚本可以成功退出,或者在etcd探测(ping)失败的情况下可以替代退出,则即使某些etcd实例已关闭,cronjob中的所有作业也将完成。
例如,仅当探测阶段成功但备份阶段失败时,您才能使作业失败。