首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes码头登记处

Kubernetes码头登记处
EN

Stack Overflow用户
提问于 2018-08-09 08:13:49
回答 1查看 768关注 0票数 1

我已经创建了码头注册作为一个吊舱与一个服务,它的工作登录,推拉。但是当我想要创建一个使用这个注册表的图像的荚时,kubelet无法从注册表获取图像。

我的吊舱注册表:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: registry-docker
  labels:
    registry: docker
spec:
  containers:
  - name: registry-docker
    image: registry:2
    volumeMounts:
    - mountPath: /opt/registry/data
      name: data
    - mountPath: /opt/registry/auth
      name: auth
    ports:
    - containerPort: 5000
    env:
    - name: REGISTRY_AUTH
      value: htpasswd
    - name: REGISTRY_AUTH_HTPASSWD_PATH
      value: /opt/registry/auth/htpasswd
    - name: REGISTRY_AUTH_HTPASSWD_REALM
      value: Registry Realm
  volumes:
  - name: data
    hostPath:
      path: /opt/registry/data
  - name: auth
    hostPath:
      path: /opt/registry/auth

我想从注册表中创建:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: 10.96.81.252:5000/nginx:latest
  imagePullSecrets:
  - name: registrypullsecret

从注册表日志中获得的错误:

time="2018-08-09T07:17:21Z“level=warning msg=”错误授权上下文:领域的基本身份验证挑战\“注册表域”\“:无效的授权凭据”go.version=go1.7.6 http.request.host="10.96.81.252:5000“level=warning http.request.method=GET http.request.remoteaddr="10.40.0.0:59088”http.request.uri="/v2/“http.request.useragent="docker/18.06。0-ce go/go1.10.3 git-commit/0ffa 825内核/4.4.0-130-generic/linux arch/Aug 64 UpstreamClient(Go-http-client/1.1)“version=v2.6.2 10.40.0.0 - 09/Aug/2018:07:17:21 +0000 "GET /v2/ HTTP/1.1”401 87 "docker/18.06.0-ce go/go1.10.3git-commit/0ffa 825内核/4.4.0-130-泛型os/linux arch/amd64 64 UpstreamClient(Go client/1.1)“

我使用的秘密是从cat ~/.docker/config.json | base64创建的

代码语言:javascript
复制
apiVersion: v1
kind: Secret
metadata:
 name: registrypullsecret
data:
 .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJsb2NhbGhvc3Q6NTAwMCI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZaRzlqYTJWeU1USXoiCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA2$
type: kubernetes.io/dockerconfigjson

我对默认服务帐户所做的修改:

代码语言:javascript
复制
cat ./sa.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  creationTimestamp: 2018-08-03T09:49:47Z
  name: default
  namespace: default
#  resourceVersion: "51625"
  selfLink: /api/v1/namespaces/default/serviceaccounts/default
  uid: 8eecb592-9702-11e8-af15-02f6928eb0b4
secrets:
- name: default-token-rfqfp
imagePullSecrets:
- name: registrypullsecret

文件~/..docker/config.json:

代码语言:javascript
复制
{
        "auths": {
                "localhost:5000": {
                        "auth": "YWRtaW46ZG9ja2VyMTIz"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.06.0-ce (linux)"
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-09 13:13:12

auths数据具有"localhost:5000“的登录凭据,但您的图像位于”10.96.81.252:5000/nginx:最新“。

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

https://stackoverflow.com/questions/51761968

复制
相关文章

相似问题

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