Как создать init контейнер в kubernetes Jobs? - PullRequest
2 голосов
/ 23 апреля 2020

Используется ниже job.yaml для создания работы. Контейнеры Init не создаются.

[root@app] # версия kubectl Версия клиента: version.Info {Major: "1", Minor: "15", GitVersion: "v1.15.5", GitCommit: "", GitTreeState: "clean", BuildDate: "2019-10-15T19: 16: 51Z", GoVersion: "go1.12.10", компилятор: "g c", платформа: "linux / amd64"} Версия сервера : version.Info {Major: "1", Minor: "15", GitVersion: "v1.15.5", GitCommit: "", GitTreeState: "clean", BuildDate: "2019-10-15T19: 07: 57Z", GoVersion: "go1.12.10", компилятор: "g c", платформа: "linux / amd64"}

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      name: pi
      annotations:
        pod.beta.kubernetes.io/init-containers: '[
          {
            "name": "init-myservice",
            "image": "busybox",
            "command": ["sh", "-c", "until nslookup myservice; do echo waiting for myservice; sleep 2; done;"]
          },
          {
            "name": "init-mydb",
            "image": "busybox",
            "command": ["sh", "-c", "until nslookup mydb; do echo waiting for mydb; sleep 2; done;"]
          }
        ]'
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Эта аннотация не поддерживается начиная с kubernetes версии 1.8 .

В заметках о выпуске Kubernetes v1.8 вы можете прочитать:

Устаревшие альфа и бета Аннотации initContainer больше не поддерживаются. Контейнеры Init должны быть указаны с помощью поля initContainers в модуле c.

. См. актуальную документацию по initContainers

1 голос
/ 23 апреля 2020

InitContainers устанавливаются в модуле c. Не метаданные. Pod Spe c одинаково для заданий, развертываний или всего, что создает модули.

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      initContainers:
      - name: init-myservice
        image: busybox:1.28
        command: ["sh", "-c", "until nslookup myservice; do echo waiting for myservice; sleep 2; done;"]
      - name: init-mydb
        image: busybox:1.28
        command: ["sh", "-c", "until nslookup mydb; do echo waiting for mydb; sleep 2; done;"]
      restartPolicy: Never
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...