gpt4 book ai didi

minikube - 将 podman/buildah 创建的容器镜像部署到 minikube 的良好工作流程是什么?

转载 作者:行者123 更新时间:2023-12-02 09:35:57 24 4
gpt4 key购买 nike

我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建镜像,并希望使用 kvm2 虚拟机驱动程序将这些镜像部署在也在工作站上运行的 minikube 中。我还使用 CRI-O 容器运行时启动 minikube。

在这种情况下,将这些镜像从工作站部署到 minikube 的有效工作流程是什么? Docker 不在 minikube VM 上运行,因此不能像 minikube 文档中所述那样重用 Docker 守护进程。使用 kvm2 时,与 minikube 共享主机文件系统目前似乎也不可行。

运行对工作站和 minikube vm 都可见的本地注册表是最佳选择吗?回复How to use local docker images with Minikube?(Kubernetes + Minikube) can't get docker image from local registry似乎为配置本地注册表提供了很好的解决方案。

skopeo 会是一个解决方案吗?

编辑:这是一篇很好的文章,描述了如何使用 podman 设置注册表:https://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/

谢谢

布拉德

最佳答案

Minikube 文档为 https://minikube.sigs.k8s.io/docs/tasks/docker_registry/ 上的潜在工作流程提供了基础。 。为了使用 podman 代替 docker,我执行了以下操作

按照指示,使用 --insecure-registry 标志启动 minikube。我专门使用

minikube start --network-plugin=cni --enable-default-cni --bootstrapper=kubeadm --container-runtime=cri-o --cpus 4 --memory 4g --insecure-registry "192.168.39.0/24"

启用 minikube 注册表插件。

minikube addons enable registry

通过将注册表添加到 /etc/containers/registries.conf 的不安全注册表部分,将 podman 配置为使用不安全的 minikube 注册表。此部分现在看起来像

[registries.insecure]
registries = ['192.168.39.175:5000']

其中 192.168.39.175 是 minikube IP。该 IP 可能会在 minikube 重新启动后发生变化。

按照https://minikube.sigs.k8s.io/docs/tasks/docker_registry/中的构建、推送和运行命令进行操作用 podman 代替 docker。这假设 test-img 容器文件存在。

构建:podman build --tag $(minikube ip):5000/test-img 。

推送:podman推送$(minikube ip):5000/test-img

运行:kubectl run test-img --image=$(minikube ip):5000/test-img

这可行,但遇到了严重的并发症:使用 kvm2 时,目前没有明显的方法来设置 minikube VM 的 IP 地址。 IP 将始终位于 192.168.39.0/24 子网中,但这是唯一确定的。每次启动 minikube 时,注册表的 IP 地址都会发生变化,这对 podman 和一般工作流程具有重大影响。

还有更多解决方案。

关于minikube - 将 podman/buildah 创建的容器镜像部署到 minikube 的良好工作流程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59811664/

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