我已将注册表服务部署到命名空间registry
中:
$ kubectl get service -n registry
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
registry-docker-registry ClusterIP 10.43.119.11 <none> 5000/TCP 18h
这是我的skaffold.yaml
:
apiVersion: skaffold/v2beta1
kind: Config
metadata:
name: spring-boot-slab
build:
artifacts:
- image: skaffold-covid-backend
kaniko:
dockerfile: Dockerfile-multistage
cache: {}
cluster: {}
deploy:
kubectl:
manifests:
- k8s/*
一切正常,直到kaniko尝试将图像推送到注册表上方为止
获取“ http://registry-docker-registry.registry.svc.cluster.local:5000/v2/”:拨打tcp:在127.0.0.53:53上查找Registry-docker-registry.registry.svc.cluster.local:没有这样的主机
关于如何访问同一kubernetes中部署的此注册表的任何想法吗?
我试图从另一个容器访问注册表:
$ kubectl exec -ti graylog-1 -- curl registry-docker-registry.registry:5000/v2/_catalog
{"repositories":["skaffold-covid-backend","skaffold-covid-backend/cache"]}
如您所见,它能够访问注册表。
答案 0 :(得分:0)
根据此instruction,您可以访问:
registry-docker-registry.registry
或根据instructions:
registry-docker-registry.registry.svc.cluster.local
答案 1 :(得分:0)
exec
的Pod,并尝试卷曲要访问的服务及其端口。格式通常为:<your-service>.<your-namespace>
因此,您可以使用以下command从预期的吊舱中卷曲它:
curl <your-service>.<your-namespace>:<your-port>
port forward
服务提供给本地用户:kubectl -n <namespace> svc/<your-service> <your-localhost-port>:<your-service-port>
看看您是否可以通过这种方式访问它。
答案 2 :(得分:0)
尝试类似这样的方法。我希望这个命令能起作用。
registry-docker-registry.registry.svc.cluster.local