首页 > 解决方案 > Kubernetes CronJob 未正确使用 Docker Secret

问题描述

我有一个 Kubernetes 集群,我正在尝试在其上设置CronJob。我在命名空间中设置了 CronJob,并在default命名空间中设置了我想使用的图像提取密钥default。我在 中设置了imagePullSecrets引用CronJob我用来从我的私有 docker 注册表中提取图像的秘密,我可以验证这个秘密是有效的,因为我在使用这个秘密来成功提取 docker 图像的同一个集群和命名空间中有部署。但是,当CronJobpod 启动时,我看到以下错误:

no basic auth credentials

我知道当 pod 没有凭据从 docker 注册表中提取图像时会发生这种情况。但是我在同一个命名空间中为我的部署使用了相同的秘密,他们成功地拉下了图像。imagePullSecrets部署和 cronjobs 之间的使用配置有区别吗?

服务器版本:v1.9.3

CronJob 配置:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  namespace: default
  name: my-cronjob
spec:
  concurrencyPolicy: Forbid
  schedule: 30 13 * * *
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: Never
          imagePullSecrets:
          - name: my-secret
          containers:
          - image: my-image
            name: my-cronjob
            command:
            - my-command
            args:
            - my-args

标签: kuberneteskubernetes-cronjob

解决方案


推荐阅读