1

随着我们产品的新版本,我们希望转向新技术(kubernetes),以便我们可以利用它的服务。我们有一个本地 Kubernetes 应用程序在我们的基础设施中运行。我们已经使我们的应用程序 dockerize,现在我们想使用图像将其与 kubernetes 集成以创建集群 --pods,但我们被 docker 注册表困住了,因为我们的客户不希望拥有任何公共/私有 docker 存储库(注册表)我们可以在哪里上传这些图片。我们尝试了(docker save 和 docker load)但没有运气(错误:portal-66d9f557bb-dc6kq 0/1 ImagePullBackOff)是否有可能拥有一些文件系统,我们可以从中访问这些图像或任何其他替代方案,如果这解决了我们的问题(没有私有/公共存储库/注册表)。

4

1 回答 1

2

某种 Docker 注册表几乎是运行 Kubernetes 的必要条件。付费 Docker Hub 支持私有镜像;谷歌和亚马逊都有托管的注册产品(分别是 GCR 和 ECR);有第三方登记处;或者您可以在本地部署官方注册表映像。

有一个替代路径,您docker save可以在任何 Kubernetes pod 规范中引用每个私有映像,然后docker load在每个节点上引用它。这有明显的规模和维护问题(每当有人更新任何图像时,您都需要手动将其重新部署到每个节点)。但是如果你真的需要尝试这个,请确保你的 pod 规范指定ImagePullPolicy: Never以避免尝试从注册表中获取内容。(如果某个节点上不存在某些东西,则 pod 将无法启动。)

注册表“只是”一个实现 Docker 注册表 API 的开源 (Go) HTTP REST 服务,如果这有助于您的部署故事。

于 2018-08-09T13:24:19.077 回答