gpt4 book ai didi

image - Kubernetes 部署 - 为图像拉取指定多个选项作为后备?

转载 作者:行者123 更新时间:2023-12-02 12:00:16 25 4
gpt4 key购买 nike

我们所有可能的 docker 注册表(包括 Artifactory、AWS ECR 和 GitLab)都曾或多次遇到过镜像拉取问题。甚至 DockerHub 偶尔也会出现问题。

在 Kubernetes 部署中是否有一种方法可以指定 pod 可以从多个不同的存储库获取图像,以便它可以在一个存储库出现故障时回退?

如果不能,还有什么办法可以保持稳定?我见过像 Harbor 和 Trow 这样的东西,但它似乎是对一个简单问题的粗暴解决方案。

最佳答案

Is there a way in a Kubernetes deployment to specify that a pod can get an image from multiple different repositories so it can fall back if one is down?

不是真的,不是本地人😔。如果您将它们放置在诸如将流量引导到多个注册表的 TCP 负载均衡器之类的东西之后,您可能会欺骗 K8s 节点从不同的镜像注册表中提取镜像(一次一个)。但这可能需要大量的测试和工作。

If not, what other solutions are there to maintain stability? I've seen things like Harbor and Trow, but it seems like a heavy handed solution to a simple problem.

我会说 Harbor , Quay , 和 Trow如果您想要更多多余的东西,这是要走的路。

Kubernetes 有 ability设置 ImagePullPolicy 如果您想在所有 K8s 节点上预拉所有关键图像,您可以将其设置为例如 Never。您可以将其与一些自动化联系起来,以便在您的集群和节点中预先拉取您的图像。

我居然开了个K8s feature request看看👀这个想法是否受到关注。

更新:

如果您使用 containerdcri-o (甚至 Docker 有注册表镜像)。您可以配置镜像注册表:

containerd.toml 示例

...
[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins.cri.registry.mirrors."local.insecure-registry.io"]
endpoint = ["http://localhost:32000"]
[plugins.cri.registry.mirrors."gcr.io"]
endpoint = ["https://gcr.io"]
[plugins.cri.registry.configs]
[plugins.cri.registry.configs.auths]
[plugins.cri.registry.configs.auths."https://gcr.io"]
auth = "xxxxx...."
...

cri-o.conf example

...
# registries is used to specify a comma separated list of registries to be used
# when pulling an unqualified image (e.g. fedora:rawhide).
registries = [
“registry.example.xyz”,
“registry.fedoraproject.org”
]
...

✌️<​​/p>

关于image - Kubernetes 部署 - 为图像拉取指定多个选项作为后备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63266765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com