Не удается увидеть Pod, когда я создаю работу - PullRequest
0 голосов
/ 02 ноября 2018

Когда я пытаюсь создать Deployment as Type Job, он не тянет ни один образ.

Ниже .yaml:

apiVersion: batch/v1
kind: Job
metadata:
  name: copyartifacts
spec:
  backoffLimit: 1
  template:
    metadata:
      name: copyartifacts
    spec:
      restartPolicy: "Never"
      volumes:
      - name: sharedvolume
        persistentVolumeClaim:
          claimName: shared-pvc
      - name: dockersocket
        hostPath:
          path: /var/run/docker.sock
      containers:
      - name: copyartifacts
        image: alpine:3.7
        imagePullPolicy: Always
        command: ["sh", "-c", "ls -l /shared; rm -rf /shared/*; ls -l /shared; while [ ! -d /shared/artifacts ]; do echo Waiting for artifacts to be copied; sleep 2; done; sleep 10; ls -l /shared/artifacts; "]
        volumeMounts:
        - mountPath: /shared
          name: sharedvolume

Можете ли вы вести здесь?

С уважением, Викас

1 Ответ

0 голосов
/ 02 ноября 2018

Может быть две возможные причины не видеть стручок.

  1. Модуль еще не создан.
  2. Модуль завершил свою задачу и завершил работу, прежде чем вы заметили.

1. Pod не был создан:

Если модуль pod еще не создан, вам нужно выяснить, почему в задании не удалось создать модуль. Вы можете просмотреть события задания, чтобы увидеть, есть ли какое-либо событие сбоя. Используйте следующую команду, чтобы описать работу.

kubectl describe job <job-name> -n <namespace>

Затем проверьте поле Events:. Могут быть некоторые события, показывающие сбой создания модуля по соответствующей причине.

2. Подача завершена и завершена:

Задания используются для выполнения одноразовой задачи, а не для обслуживания приложения, которое требует поддержания желаемого состояния. Когда задача завершена, модуль переходит в завершенное состояние, а затем завершается (но не удаляется). Если ваша работа предназначена для задачи, которая не занимает много времени, модуль может завершить работу после выполнения задачи, прежде чем вы заметите.

Когда модуль завершен, kubectl get pods не будет отображать этот модуль. Однако вы сможете увидеть модуль с помощью команды kubectl get pods -a, так как он не был удален.

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

...