0

我正在尝试使用存储在 Codefresh 上的图像通过 kubectl 部署应用程序。当我将图像放在公共注册表上时,它可以完美运行。

问题是当我应用 deployment.yaml 时,我在 pod 上收到“ImagePullBackOff”错误。我假设,我认为是正确的,这是因为我需要一个秘密才能访问我的 Codefresh 图像。

这是我当前的 deployment.yaml 的容器部分:

spec:
      containers:
        - name: dockapp
        #States the image that will be put inside the pod. Secret to get access is declared below
        #registry.hub.docker.com/jamiedovu/dockapp:latest
          image:  r.cfcr.io/jamiew87/my-app-image:master
          ports:
          - containerPort: 8080
            name: http
      imagePullSecrets:
      - name: regcred

我的问题是,我需要将什么放入秘密“regcred”中才能连接到这个私人注册表。Kubernetes 文档只演示了如何为 docker 做一个。

4

2 回答 2

1

我认为它在 docs 中有解释

export DOCKER_REGISTRY_SERVER=r.cfcr.io
export DOCKER_USER=YOUR_USERNAME
export DOCKER_PASSWORD=YOUR_REGISTRY_PASSWORD
export DOCKER_EMAIL=YOUR_EMAIL

kubectl create secret docker-registry cfcr\
 --docker-server=$DOCKER_REGISTRY_SERVER\
 --docker-username=$DOCKER_USER\
 --docker-password=$DOCKER_PASSWORD\
 --docker-email=$DOCKER_EMAIL
于 2019-05-29T14:08:31.353 回答
0

对于未来有问题的人来说,codefresh 存储库是一个实际的 docker 存储库。不知道这给了我问题。因此,在 docker-username 等位置放置您的 codefresh 凭据,而不是密码,而是放置您在 codefresh 中生成的秘密。这使您可以访问 r.cfcr.io 存储库。

于 2019-05-30T10:27:05.867 回答