gpt4 book ai didi

docker - k8s : make local image accessible for k8s

转载 作者:行者123 更新时间:2023-12-05 06:21:15 27 4
gpt4 key购买 nike

我刚刚安装了一个 k8s 集群 (k3d)。

我只是在玩这个,我遇到了第一个新手问题:如何加载我们本地创建的图像。

我的意思是,我刚刚创建了一个标记为 quarkus/feedly:v1 的 docker 镜像。

  1. 如何让 k8s 集群可以访问它?
  2. 默认的 k8s 容器运行时是哪个?
  3. 是否存在与我的 k8s 集群和本地 docker 的任何交互?我的意思是,是否每个 k8s 节点都安装了 docker/rkt/containerd 运行时?
  4. 我可以在 kubernetes 中创建一个 docker registry 作为 list 吗?我怎样才能让 kubernetes 访问它?

我已经部署了我的 list 并且我收到了这些事件:

Failed to pull image "quarkus/feedly:0.0.1-SNAPSHOT": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/quarkus/feedly:0.0.1-SNAPSHOT": failed to resolve reference "docker.io/quarkus/feedly:0.0.1-SNAPSHOT": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

我知道这是一个正常错误,因为 quarkus 注册表不存在。

那里有帮助代码吗?

最佳答案

这里有一些提示:

  1. 要使您的图像可通过您的 k8s 集群访问,您需要使用可从您的集群节点访问的注册表。因此,要么在 docker hub 上创建一个帐户并使用它,要么安装一个本地镜像注册表并使用它。
  2. Docker 是大多数 k8s 发行版使用的默认容器运行时。但是,您可以使用任何 OCI 兼容的运行时(例如 containerd)。 rkt 不再是一个活跃的项目,所以我建议不要使用它。
  3. 好吧,这取决于您使用的 k8s 发行版。无论如何,集群上的每个节点都需要在其上安装一个容器运行时。这是强制性的。
  4. 将 Docker 注册表部署为 kubernetes 资源可能不是一个好主意,因为您必须进行大量配置才能使其正常工作。但是,最好的解决方案是在您的一个节点内部署一个 docker registry,然后使用节点 IP 调用它。您在 official doc 中有一个配置示例.顺便说一句,Docker 提供了一个注册表作为 Docker image ,所以安装非常简单。

希望对您有所帮助!

关于docker - k8s : make local image accessible for k8s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59944531/

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