the*_*ly2 8 kubernetes persistent-volumes persistent-volume-claims
我正在尝试创建一个Kubernetes CronJob来每分钟运行一个应用程序.
先决条件是我需要将我的应用程序代码放到CronJob中运行的容器中.我认为最好的方法是使用持久性体积,pvclaim,然后定义体积并将其安装到容器中.我已经成功完成了在Pod中运行的容器,但在CronJob中似乎是不可能的?这是我尝试的配置:
apiVersion: batch/v2alpha1
kind: CronJob
metadata:
name: update_db
spec:
volumes:
- name: application-code
persistentVolumeClaim:
claimName: application-code-pv-claim
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: update-fingerprints
image: python:3.6.2-slim
command: ["/bin/bash"]
args: ["-c", "python /client/test.py"]
restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)
相应的错误:
错误:验证"cron-applications.yaml"时出错:验证数据时出错:找到v2alpha1.CronJobSpec的无效字段卷; 如果您选择忽略这些错误,请使用--validate = false关闭验证
我找不到任何表明这是可能的资源.那么,如果不可能,如何解决将应用程序代码放入正在运行的CronJob的问题?
Sim*_*sar 12
一的cronjob使用PodTemplate为其他基于豆荚的一切,可以用卷。您将音量规范直接放置在CronJobSpec中而不是PodSpec中,如下所示使用它:
apiVersion: batch/v2alpha1
kind: CronJob
metadata:
name: update_db
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: update-fingerprints
image: python:3.6.2-slim
command: ["/bin/bash"]
args: ["-c", "python /client/test.py"]
restartPolicy: OnFailure
volumeMounts:
- name: application-code
mountPath: /where/ever
volumes:
- name: application-code
persistentVolumeClaim:
claimName: application-code-pv-claim
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5790 次 |
| 最近记录: |