我可以将 initContainers 添加到 kubernetes-cronjob 吗?
Can I add initContainers to a kubernetes-cronjob?
我想要一个在容器之前运行的 initContainer,我的 kubernetes cronjob 是 运行。它用于安装 kubectl。有没有办法做到这一点?
我试图将 initContainer 参数添加到 cronjob.yaml 文件,但它引发了错误。
我的containerInit的代码如下:
initContainers:
- name: install-kubectl
image: allanlei/kubectl
volumeMounts:
- name: kubectl
mountPath: /data
command: ["cp", "/usr/local/bin/kubectl", "/data/kubectl"]
我的 cronjob 需要能够访问 kubectl。这就是我尝试这样做的原因。对于如何解决此问题的任何建议,我都非常感谢。
您可以将 kubectl 安装到您在那里使用的映像中。
您可以直接在 docker 映像中安装 kubectl 并在 cronjob 中使用该映像。
是的,您可以在 CronJob 模板中使用 InitContainers。
像这样:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: example
namespace: default
spec:
schedule: '*/1 * * * *'
jobTemplate:
spec:
template:
spec:
initContainers:
- name: busybox
image: busybox
command:
- echo
- initialized
containers:
- name: pi
image: perl
command:
- perl
- '-Mbignum=bpi'
- '-wle'
- print bpi(2000)
restartPolicy: OnFailure
我想要一个在容器之前运行的 initContainer,我的 kubernetes cronjob 是 运行。它用于安装 kubectl。有没有办法做到这一点?
我试图将 initContainer 参数添加到 cronjob.yaml 文件,但它引发了错误。
我的containerInit的代码如下:
initContainers:
- name: install-kubectl
image: allanlei/kubectl
volumeMounts:
- name: kubectl
mountPath: /data
command: ["cp", "/usr/local/bin/kubectl", "/data/kubectl"]
我的 cronjob 需要能够访问 kubectl。这就是我尝试这样做的原因。对于如何解决此问题的任何建议,我都非常感谢。
您可以将 kubectl 安装到您在那里使用的映像中。
您可以直接在 docker 映像中安装 kubectl 并在 cronjob 中使用该映像。
是的,您可以在 CronJob 模板中使用 InitContainers。
像这样:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: example
namespace: default
spec:
schedule: '*/1 * * * *'
jobTemplate:
spec:
template:
spec:
initContainers:
- name: busybox
image: busybox
command:
- echo
- initialized
containers:
- name: pi
image: perl
command:
- perl
- '-Mbignum=bpi'
- '-wle'
- print bpi(2000)
restartPolicy: OnFailure