创建作业时看不到 Pod

Vik*_*age 1 kubernetes rancher

当我尝试将部署创建为作业类型时,它不会拉取任何映像。

下面是.yaml:

api版本:batch/v1
种类:工作
元数据:
  名称:复制品
规格:
  退避限制:1
  模板:
    元数据:
      名称:复制品
    规格:
      重启策略:“从不”
      卷:
      - 名称:共享卷
        持久卷声明:
          声明名称:共享 PVC
      - 名称:dockersocket
        主机路径:
          路径:/var/run/docker.sock
      容器:
      - 名称:复制工件
        图片:高山:3.7
        imagePullPolicy:始终
        命令: ["sh", "-c", "ls -l /shared; rm -rf /shared/*; ls -l /shared; while [ !-d /shared/artifacts ]; do echo 等待工件被复制;睡眠 2;完成;睡眠 10;ls -l /shared/artifacts;“]
        体积安装:
        - 挂载路径:/共享
          名称:共享卷

您能在这里指导一下吗?

问候, 维卡斯

Emr*_*ain 6

看不到 pod 的可能原因有两个。

  1. 该 Pod 尚未创建。
  2. Pod 已完成其任务并在您注意到之前终止。

1. Pod尚未创建:

如果还没有创建pod,你必须找出作业创建pod失败的原因。您可以查看作业的事件以查看是否有任何失败事件。使用以下命令来描述作业。

kubectl describe job <job-name> -n <namespace>
Run Code Online (Sandbox Code Playgroud)

然后,检查该Events:字段。可能有一些事件显示 Pod 创建失败,并有各自的原因。

2. Pod 已完成并终止:

作业用于执行一次性任务,而不是为需要维持所需状态的应用程序提供服务。当任务完成时,pod 进入完成状态然后终止(但不会被删除)。如果您的 Job 旨在执行不需要太多时间的任务,则 pod 可能会在您注意到之前完成任务后终止。

当 Pod 终止时,kubectl get pods将不会显示该 Pod。但是,您将能够使用kubectl get pods -a命令查看该 pod,因为它尚未被删除。

您还可以描述作业并检查是否完成或成功事件。

  • `kubectl get pods -a` 已弃用,请参阅 /sf/answers/4011663841/ (2认同)