Bra*_*ith 6 kvm minikube cri-o podman
我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建映像,并希望在使用 kvm2 虚拟机驱动程序的工作站上运行的 minikube 中部署这些映像。我还使用 CRI-O 容器运行时启动 minikube。
在这种情况下,将这些映像从工作站部署到 minikube 的有效工作流程是什么?Docker 不在 minikube 虚拟机上运行,因此不能像 minikube 文档中描述的那样重用 Docker 守护进程。使用 kvm2 时,此时与 minikube 共享主机文件系统似乎也不可行。
运行对工作站和 minikube vm 都可见的本地注册表是最佳选择吗?解答如何使用当地搬运工图像与Minikube?并且(Kubernetes + Minikube)无法从本地注册表获取 docker 镜像似乎为配置本地注册表提供了很好的解决方案。
skopeo 会是一个解决方案吗?
编辑:这是一篇很好的文章,描述了如何使用 podman 设置注册表:https ://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/
谢谢你
布拉德
Minikube 文档为潜在工作流程提供了基础,网址为https://minikube.sigs.k8s.io/docs/tasks/docker_registry/。为了使用 podman 代替 docker,我做了以下操作
按照指示,使用标志启动 minikube --insecure-registry。我专门用
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"
Run Code Online (Sandbox Code Playgroud)
启用 minikube 注册表插件。
minikube addons enable registry
Run Code Online (Sandbox Code Playgroud)
通过将注册表添加到 的不安全注册表部分,将 podman 配置为使用不安全的 minikube 注册表/etc/containers/registries.conf。这部分现在看起来像
[registries.insecure]
registries = ['192.168.39.175:5000']
Run Code Online (Sandbox Code Playgroud)
其中 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 push $(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 和一般工作流程具有重大影响。
更多的还有另一种解决方案。
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |