Какую apiVersion использовать с заданиями k8s и imagePullSecret - PullRequest
0 голосов
/ 15 октября 2018

У меня есть задание, которое выполняет миграцию для службы Python.Вот спецификация задания:

apiVersion: batch/v1
kind: Job
metadata:
  name: migration
  annotations:
    buildId: "__buildId__"
    branchName: "__branchName__"
    commitId: "__commitId__"
spec:
  template:
    spec:
      containers:
      - name: service
        image: <repo>/service:__buildId__
        imagePullPolicy: Always
        imagePullSecrets:
        - name: acr-key
        command: ["/bin/sh","-c"]
        args: ["python manage.py migrate --noinput --database=default && python manage.py migrate --noinput --database=data_001 && python manage.py migrate --noinput --database=data_002"]
        envFrom:
        - configMapRef:
            name: configuration
        - secretRef:
            name: secrets
        resources:
          requests:
            memory: "200Mi"
            cpu: "250m"
          limits:
            memory: "4000Mi"
            cpu: "2000m"
      restartPolicy: Never

Не похоже, что существует apiVersion, который поддерживает как imagePullSecrets, так и kubernetes Job.Любые идеи о том, как я могу заставить это работать?

Вот моя конфигурация k8s:

Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.6", GitCommit:"9f8ebd171479bec0ada837d7ee641dec2f8c6dd1", GitTreeState:"clean", BuildDate:"2018-03-21T15:21:50Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.6", GitCommit:"9f8ebd171479bec0ada837d7ee641dec2f8c6dd1", GitTreeState:"clean", BuildDate:"2018-03-21T15:13:31Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

1 Ответ

0 голосов
/ 15 октября 2018

imagePullSecrets должно быть за пределами containers.Это работает для меня:

apiVersion: batch/v1
kind: Job
metadata:
  name: migration
  annotations:
    buildId: "__buildId__"
    branchName: "__branchName__"
    commitId: "__commitId__"
spec:
  template:
    spec:
      imagePullSecrets:
      - name: acr-key
      containers:
      - name: service
        image: <repo>/service:__buildId__
        imagePullPolicy: Always
        command: ["/bin/sh","-c"]
        args: ["python manage.py migrate --noinput --database=default && python manage.py migrate --noinput --database=data_001 && python manage.py migrate --noinput --database=data_002"]
        envFrom:
        - configMapRef:
            name: configuration
        - secretRef:
            name: secrets
        resources:
          requests:
            memory: "200Mi"
            cpu: "250m"
          limits:
            memory: "4000Mi"
            cpu: "2000m"
      restartPolicy: Never
...