Docker kubernete私人注册中心不';行不通
我按照以下链接配置kubernete private registry: , 唯一的区别是名称空间从kube系统更改为默认系统 码头工人登记处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-
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