如果无法拉取当前镜像,K8S 更改自动部署镜像

问题描述 投票:0回答:0

我已经阅读并研究了有关 k8s 部署的信息,但看起来我将要描述的问题没有解决方案。

目前,我有一个设置,其中 Deployment 将从我们的私有 Docker 注册表中拉取图像,我们称之为注册表 A。

我们想制作另一个私有 Docker 注册中心,将这个注册中心部署到不同的环境,希望更好的网络能够产生更好的拉取时间。让我们称之为注册表 B.

现在,为了使系统具有弹性,我们想让 Deployment 首先从 Registry B 拉取镜像(因为它应该更快)。如果由于某些原因,它不能从该注册表中提取,那么它应该从注册表 A 中提取。

我正在使用带有 K8S 客户端的 Golang 来应用部署,这里是应用部署的示例代码。

    c := corev1.Container()
    c.WithName(deploymentName)
    c.WithImage(image)
    c.WithImagePullPolicy("IfNotPresent")

如您所见,为 Deployment 指定图像的唯一方法是使用

WithImage
.

如果你们中有人遇到过这个问题,请告诉我如何解决这个问题。

更新:

go kubernetes docker-registry
© www.soinside.com 2019 - 2024. All rights reserved.