Docker kubernete私人注册中心不';行不通

Docker kubernete私人注册中心不';行不通,docker,kubernetes,Docker,Kubernetes,我按照以下链接配置kubernete private registry: , 唯一的区别是名称空间从kube系统更改为默认系统 码头工人登记处 apiVersion: v1 kind: ReplicationController metadata: name: kube-registry-v0 namespace: default labels: k8s-app: kube-registry version: v0 kubernetes.io/cluster-

我按照以下链接配置kubernete private registry: , 唯一的区别是名称空间从kube系统更改为默认系统

码头工人登记处

apiVersion: v1
kind: ReplicationController
metadata:
  name: kube-registry-v0
  namespace: default
  labels:
    k8s-app: kube-registry
    version: v0
    kubernetes.io/cluster-service: "true"
spec:
  replicas: 1
  selector:
    k8s-app: kube-registry
    version: v0
  template:
    metadata:
      labels:
        k8s-app: kube-registry
        version: v0
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: registry
        image: registry:2
        resources:
          limits:
            cpu: 100m
            memory: 100Mi
        env:
        - name: REGISTRY_HTTP_ADDR
          value: :5000
        - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
          value: /var/lib/registry
        volumeMounts:
        - name: image-store
          mountPath: /var/lib/registry
        ports:
        - containerPort: 5000
          name: registry
          protocol: TCP
      volumes:
      - name: image-store
        nfs:
        # Use real NFS server address here.
          server: 172.19.180.4
        # Use real NFS server export directory.
          path: "/nfs/www"
注册表服务yaml文件:

apiVersion: v1
kind: Service
metadata:
  name: kube-registry
  namespace: default
  labels:
    k8s-app: kube-registry
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: "KubeRegistry"
spec:
  selector:
    k8s-app: kube-registry
  ports:
  - name: registry
    port: 5000
    protocol: TCP`

Expose the registry on each node

`apiVersion: v1
kind: Pod
metadata:
  name: kube-registry-proxy
  namespace: default
spec:
  containers:
  - name: kube-registry-proxy
    image: gcr.io/google_containers/kube-registry-proxy:0.3
    resources:
      limits:
        cpu: 100m
        memory: 50Mi
    env:
    - name: REGISTRY_HOST
      value: kube-registry.kube-system.svc.cluster.local
    - name: REGISTRY_PORT
      value: "5000"
    - name: FORWARD_PORT
      value: "5000"
    ports:
    - name: registry
      containerPort: 5000
      hostPort: 5000`
以下是与之对应的结果

root@fed-master ~]# kubectl get services
NAME            CLUSTER_IP     EXTERNAL_IP   PORT(S)         SELECTOR                AGE
dns-backend     10.18.110.23   <none>        8000/TCP        name=dns-backend        6d
kube-dns        10.18.0.10     <none>        53/UDP,53/TCP   k8s-app=kube-dns        3d
kube-registry   10.18.85.239   <none>        5000/TCP        k8s-app=kube-registry   2d
kubernetes      10.18.0.1      <none>        443/TCP         <none>                  26d
[root@fed-master ~]# kubectl get rc
CONTROLLER         CONTAINER(S)   IMAGE(S)                                         SELECTOR                           REPLICAS   AGE
kube-dns-v9        etcd           gcr.io/google_containers/etcd:2.0.9              k8s-app=kube-dns,version=v9        1          3d
                   kube2sky       gcr.io/google_containers/kube2sky:1.11                                              
                   skydns         gcr.io/google_containers/skydns:2015-03-11-001                                      
                   healthz        gcr.io/google_containers/exechealthz:1.0                                            
kube-registry-v0   registry       registry:2                                       k8s-app=kube-registry,version=v0   1         2d
[root@fed-master ~]# kubectl get pod
NAME                             READY     STATUS    RESTARTS   AGE
kube-dns-v9-uuee0                4/4       Running   0          3d
kube-registry-proxy-fed-master   1/1       Running   0          1d
kube-registry-proxy-fed-node     1/1       Running   0          1d
kube-registry-proxy-fed-node2    1/1       Running   0          1d
kube-registry-v0-slqx3           1/1       Running   0          2d
root@fed-master ~]#kubectl获得服务
名称群集\u IP外部\u IP端口选择器年龄
dns后端10.18.110.23 8000/TCP名称=dns后端6d
kube dns 10.18.0.10 53/UDP,53/TCP k8s app=kube dns 3d
kube注册表10.18.85.239 5000/TCP k8s app=kube注册表2d
kubernetes 10.18.0.1 443/TCP 26d
[root@fed-master ~]#kubectl获得rc
控制器容器映像选择器副本保留期
kube-dns-v9 etcd gcr.io/google_containers/etcd:2.0.9 k8s app=kube dns,版本=v9 1 3d
kube2sky gcr.io/google_containers/kube2sky:1.11
skydns gcr.io/google_容器/skydns:2015-03-11-001
healthz gcr.io/google_containers/exechealthz:1.0
kube-registry-v0注册表:2 k8s app=kube注册表,版本=v0 1 2d
[root@fed-船长~]#库贝克特获得吊舱
名称就绪状态重新启动
kube-dns-v9-UUE0 4/4运行0 3d
运行0 1d的kube注册表代理馈送主机1/1
运行0 1d的kube注册表代理fed节点1/1
kube-registry-proxy-fed-node2 1/1正在运行0 1d
kube-registry-v0-slqx3 1/1运行0 2d
但是测试结果不是我所期望的 本地主机:5000 curl:(56)Recv故障:对等方重置连接

如何解决此问题以及如何使用本地专用注册表?
提前谢谢

我也有同样的问题。按照所有说明进行操作,但curl只是简单地说由peer重置。我
docker exec
进入我的另一个pod,似乎容器中无法识别主机名kube-registry.kube-system.svc.cluster.local(ping不返回任何内容)
ping kube-dns.kube-system.svc.cluster.local
能够检测到目标。。我想知道有什么不同…同样的问题。我可以从pods连接到注册表,dns名称有效,curl-v kube dns.kube system.svc.cluster.local:5000有效。但我得到的是一个空的响应,而不是演练中写的404。我认为主要的问题是,我无法从节点localhost:5000连接到注册表,看起来代理不工作。代理问题的另一个迹象是,通过启用端口转发,我可以将映像推拉到注册表。但是,当我尝试在注册表中创建引用映像的pod时,如果我指定localhost,我会得到
连接拒绝
;如果我指定注册表的集群IP,我会得到
tls:oversized record received