首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从码头专用存储库提取K8s问题

从码头专用存储库提取K8s问题
EN

Stack Overflow用户
提问于 2019-11-25 09:44:02
回答 2查看 1.3K关注 0票数 2

我有一个Jhipster应用程序,我想将它部署到Kubernetes。我使用jhipster kubernetes命令来创建所有k8s对象,并提供了一个Docker存储库来推送它们。Docker集线器存储库是一个私有存储库。

部署对象如下所示:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
    name: demodevices
    namespace: demo
spec:
    replicas: 1
    selector:
        matchLabels:
            app: demodevices
            version: 'v1'
    template:
        metadata:
            labels:
                app: demodevices
                version: 'v1'
        spec:
            initContainers:
                - name: init-ds
                  image: busybox:latest
                  command:
                      - '/bin/sh'
                      - '-c'
                      - |
                          while true
                          do
                            rt=$(nc -z -w 1 demodevices-postgresql 5432)
                            if [ $? -eq 0 ]; then
                              echo "DB is UP"
                              break
                            fi
                            echo "DB is not yet reachable;sleep for 10s before retry"
                            sleep 10
                          done
            containers:
                - name: demodevices-app
                  image: myRepo/demo:demodevices-1.0.0
                  env: ...
                  resources: ...
                  ports: ...
                  readinessProbe: ...
                  livenessProbe: ...
            imagePullSecrets:
            - name: regcred

因为我使用了一个私人码头集线器回购,我添加了imagePullSecret。这个秘密被创建并部署到k8s中。

在应用文件时,我在豆荚中看到以下消息:

代码语言:javascript
复制
 Warning  Failed     <invalid> (x4 over <invalid>)  kubelet, k8node1   Failed to pull image "busybox:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/library/busybox/manifests/latest: unauthorized: incorrect username or password
 Warning  Failed     <invalid> (x4 over <invalid>)  kubelet, k8node1   Error: ErrImagePull
 Normal   BackOff    <invalid> (x6 over <invalid>)  kubelet, k8node1   Back-off pulling image "busybox:latest"
 Warning  Failed     <invalid> (x6 over <invalid>)  kubelet, k8node1   Error: ImagePullBackOff

正如我所理解的,它尝试使用专用存储库的凭据来提取busybox:最新的映像。预期的结果是,从我的私人回购中提取“忙碌框”:最新的没有错误,并从我的自定义图像。如何解决上述问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-25 12:23:20

此错误与您使用的imagePullSecret没有关联。

回顾是用来创建秘密的过程,下面是一个例子:

代码语言:javascript
复制
kubectl create secret docker-registry anyname \
--docker-server=docker.io \
--docker-username=<username> \
--docker-password=<password> \
--docker-email=<email>

我复制了你的案例,当我用错误的信息创建秘密时,我也有同样的错误。

票数 1
EN

Stack Overflow用户

发布于 2019-11-25 11:34:29

您是否已将“私人回购”添加到“码头安全注册”中。另外,您是否尝试过使用docker登录登录到您的私人回购?当您这样做时,它会创建一个登录页面的条目。

尝试使用码头登录和码头拉/运行手动拉。如果这样做有效的话,它也必须与K8s一起工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59028938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档