我有一个Kubernetes cron作业,它创建一个大约需要1个小时的zip文件。完成后,我想将此zip文件上传到AWS s3存储桶。
如何告诉cron作业在创建zip后仅执行s3命令?
s3命令应该在同一个cron作业中吗?
目前我的YAML如下:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
import random
# Declare the PDF file and the single figure
pp = PdfPages('test.pdf')
thefig = plt.figure()
thefig.suptitle("Group 1")
# Generate 4 subplots for the same figure, arranged in a 2x2 grid
subplots = [ ["Plot One", 221], ["Plot Two", 222],
["Plot Three", 223], ["Plot Four", 224] ]
for [subplot_title, grid_position] in subplots:
plt.subplot(grid_position)
plt.title(subplot_title)
# Make a random bar graph:
plt.bar(range(1,11), [ random.random() for i in range(10) ])
# Add some spacing, so that the writing doesn't overlap
plt.subplots_adjust(hspace=0.35, wspace=0.35)
# Finish
pp.savefig()
pp.close()
答案 0 :(得分:2)
Kubernetes没有资源之间的关系的概念。在一种资源中发生某些事情不会对另一种资源造成影响,这不是一种官方的或干净的方法。
因此,最好的解决方案是将s3 cmd放入同一cronjob。
有两种方法可以做到这一点: