根据公司规定,我们的虚拟机不能访问互联网(也不能使用 http 代理)。我通过下载 rpm 包和 docker 镜像安装了一个 kubernetes 集群,如下所示:
k8s.gcr.io/kube-apiserver-amd64:v1.11.0
k8s.gcr.io/kube-controller-manager-amd64:v1.11.0
k8s.gcr.io/kube-scheduler-amd64:v1.11.0
k8s.gcr.io/kube-proxy-amd64:v1.11.0 k8s.gcr.io/pause-amd64:3.1
k8s.gcr.io/etcd-amd64:3.2.18 k8s.gcr.io/coredns:1.1.3
quay.io/coreos/flannel:v0.10.0-amd64
然后我安装 rpm 包并将这些 docker 镜像加载到所有虚拟机中。这可以成功安装kubernetes,虽然它很辛苦。
我的问题是,我可以使用私有(private) docker 注册表来存储这些 k8s.gcr.io、quay.io 和其他公共(public)注册表的图像,并且每个 VM 的 docker.service 可以像我的私有(private)图像一样提取这些图像吗?
最佳答案
有几种解决方案:
squid
或者是其他东西。在这种情况下,您需要重新配置 docker
让它在代理后面工作Artifactory
),然后将其用作 docker
的镜像P.S:我不坚持使用
Artifactory
,但它可能非常方便。看,Artifactory
提供创建虚拟注册表的能力。您可以在此虚拟“下”聚合另一个注册表(k8s.gcr.io、quay.io 等)并将其用于 docker
后照镜子。
关于docker - 是否可以将公共(public) docker 镜像存储在私有(private) docker 注册表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51296751/