如何避免在cronjob中对图像URL进行硬编码?

时间:2017-08-05 15:23:54

标签: kubernetes openshift openshift-origin

我试图用图像启动一个cronjob。我的构建配置构建了Openshift。

以下yaml有效,但不可移植。我不想指定整个网址。

# crontest.yaml
apiVersion: batch/v2alpha1
kind: CronJob
metadata:
    name: test-job
spec:
    schedule: "* * * * *"
    jobTemplate:
        spec:
            template:
                metadata:
                    labels:
                        parent: "cronjobtest"
                spec:
                    containers:
                     - name: myimage
                       image: 172.30.1.1:5000/test/myimage # This is not portable
                    restartPolicy: Never

我希望以类似于我能够指定dockerhub图像的方式访问我的图像。 E.g。

# Example from https://docs.openshift.com/container-platform/3.5/dev_guide/cron_jobs.html
spec:
  containers:
  - name: pi
    image: perl

我希望能够通过更改spec.containers.image值来实现此目的,但尚未找到有效的方法。看来这只适用于我迄今为止发现的示例中的Dockerhub图像。

我尝试过test / myimage,但这导致部署失败,并带有以下内容:

Failed to pull image "myimage": Error response from daemon: {"message":"repository myimage not found: does not exist or no pull access"}
Error syncing pod, skipping: failed to "StartContainer" for "myimage" with ErrImagePull: "Error response from daemon: {\"message\":\"repository myimage not found: does not exist or no pull access\"}"

有没有一种方法可以引用我错过的图像?

1 个答案:

答案 0 :(得分:0)

使用域名是否适合您?那么你就不需要对地址进行硬编码了。