Могу ли я добавить initContainers в cubernetes-cronjob? - PullRequest
0 голосов
/ 25 июня 2019

Я хочу, чтобы initContainer запускался до того контейнера, в котором запущен мой crujob kubernetes.Используется для установки 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.Вот почему я пытаюсь это сделать.Я благодарен за любые предложения, как я мог решить эту проблему.

Ответы [ 3 ]

2 голосов
/ 25 июня 2019

Вы можете установить kubectl в образ, который вы там использовали.

1 голос
/ 25 июня 2019

Да, вы можете использовать InitContainers в шаблоне CronJob.

Как это:

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
0 голосов
/ 25 июня 2019

Вы можете напрямую установить kubectl внутри своего образа докера и использовать этот образ в cronjob.

...