以下是本文参考的两篇文章.
Running tasks in pods using jobs
中文版的在这里,两者一样
使用OpenShift cronjob 备份 etcd
1. 创建一个 project
oc new-project etcd-backup
2. 创建服务账户
oc create sa etcd-sa-backup -n etcd-backup
sa 是 service account 的缩写
命名etcd-sa-backup 为 service account 用户
服务帐户是与项目关联的特殊系统用户; 项目管理员可为访问项目的内容创建服务账户.
下图为红帽官方描述
所以在此处我需要创建 service account , 为了更好的调度 cronjob.
3. 给予 sa 用户 cluster-admin 角色
oc adm policy add-cluster-role-to-user cluster-admin -z etcd-sa-backup -n etcd-backup
为服务账户授予角色的示例, 使用-z 标志并指向 service account name
cluster-admin 超级用户可以再任意项目中执行任何操作. 当使用本地绑定一个用户时,这些用户完全可以控制项目中每个资源配额和所有操作.
下图为备注
4. 创建一个 PersistentVolumeClaim
cat <<EOF | oc create -n etcd-bac