我有一个StatefulSet,其中有10个副本,每个副本都有数百GB的数据。
我想在10个副本中的1个上对对象存储库(例如S3)运行备份命令。 (因此可以在initContainer步骤中加载数据)
是否可以使用基于副本ID的相似性来计划容器?还是可以从环境变量中获取副本ID?
答案 0 :(得分:0)
到目前为止,我已经迭代了两种解决方案:
$HOSTNAME
环境变量来检查当前容器是否为副本0 如果您可以容忍Pod运行时进行备份,则此方法有效
- "[ $HOSTNAME = 'mypod-0' ] && /start-backup.sh || echo 'noop' && sleep 10000"
但是如果pod必须在备份之前将状态刷新到磁盘,则创建一个脚本(我使用Node.js)来完成此操作: