从Kubernetes内部访问Docker注册表时出现问题
我在Kubernetes集群中设置了一个私有docker注册表。部署如下 apiVersion:apps/v1 种类:部署 元数据: 姓名:注册处 标签: 应用程序:注册表 规格: 副本:1份 选择器: 火柴标签: 应用程序:注册表 模板: 元数据: 标签: 应用程序:注册表 规格: 卷数: -名称:auth vol 秘密: secretName:“注册表凭据” 容器: -图像:注册表:2 姓名:注册处 imagePullPolicy:如果不存在 环境: -名称:注册表_AUTH 值:“htpasswd” -名称:REGISTRY\u AUTH\u HTPASSWD\u REALM 值:“k8s_用户” -名称:注册表\u验证\u HTPASSWD\u路径 值:“/auth/htpasswd” 端口: -集装箱港口:5000 体积数量: -名称:auth vol 装载路径:/auth 我正在使用以下入口进行路由 apiVersion:networking.k8s.io/v1 种类:入口 元数据: 名称:注册表入口 规格: 规则: -主持人:“注册表。” http: 路径: -路径:“/” 路径类型:前缀 后端: 服务: 姓名:注册处 端口: 电话:80 在外部,我有一个负载平衡器终止SSL,然后将请求转发到适当的HTTP流量入口端口。从网络外部,我从注册表中推/拉没有问题。然而,在网络内部,当我尝试部署某些东西并运行从Kubernetes内部访问Docker注册表时出现问题,kubernetes,docker-registry,haproxy-ingress,Kubernetes,Docker Registry,Haproxy Ingress,我在Kubernetes集群中设置了一个私有docker注册表。部署如下 apiVersion:apps/v1 种类:部署 元数据: 姓名:注册处 标签: 应用程序:注册表 规格: 副本:1份 选择器: 火柴标签: 应用程序:注册表 模板: 元数据: 标签: 应用程序:注册表 规格: 卷数: -名称:auth vol 秘密: secretName:“注册表凭据” 容器: -图像:注册表:2 姓名:注册处 imagePullPolicy:如果不存在 环境: -名称:注册表_AUTH 值:“htpa
kubectl pod descripe
从消息中键入原因年龄
---- ------ ---- ---- -------
正常计划的26s默认计划程序已成功将default/server-6df575c99c-ltwqr分配给k8s-root-default-pool-3de67
正常后退24秒(x2/25秒)kubelet后退拉取图像“注册表/服务器:0.0.1”
警告失败24秒(x2超过25秒)kubelet错误:ImagePullBackOff
正常拉取11s(x2/25s)kubelet拉取映像“注册表/服务器:0.0.1”
警告失败11s(x2/25s)kubelet未能提取映像“registry./server:0.0.1”:rpc错误:code=Unknown desc=来自守护程序的错误响应:Gethttps://registry./v2/: x509:证书对haproxy-controller.default有效,而不是注册表..io
警告失败11秒(x2超过25秒)kubelet错误:ErrImagePull
似乎请求正在命中HAProxy Ingress控制器证书,而不是进入外部世界并命中负载平衡器的SSL证书。有没有更好的方法可以让我这样做?我想出来了。在我使用
kubectl expose deployment/registry
自动创建服务之前。我发现,如果我创建一个NodePort服务,这将在所有节点的固定端口上公开它
apiVersion:v1
种类:服务
元数据:
姓名:注册处
规格:
类型:节点端口
选择器:
应用程序:注册表
端口:
-港口:5000
目标港:5000
节点端口:32500
这就允许我使用“localhost:32500”访问所有节点上的注册表。我还必须更新部署以从“localhost:32500”中提取映像
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 26s default-scheduler Successfully assigned default/server-6df575c99c-ltwqr to k8s-root-default-pool-3de67
Normal BackOff 24s (x2 over 25s) kubelet Back-off pulling image "registry.<mydomain>/server:0.0.1"
Warning Failed 24s (x2 over 25s) kubelet Error: ImagePullBackOff
Normal Pulling 11s (x2 over 25s) kubelet Pulling image "registry.<mydomain>/server:0.0.1"
Warning Failed 11s (x2 over 25s) kubelet Failed to pull image "registry.<mydomain>/server:0.0.1": rpc error: code = Unknown desc = Error response from daemon: Get https://registry.<mydomain>/v2/: x509: certificate is valid for haproxy-controller.default, not registry.<mydomain>.io
Warning Failed 11s (x2 over 25s) kubelet Error: ErrImagePull