Каковы хорошие рабочие процессы для развертывания образов контейнеров, созданных podman/buildah, в minikube?

Я изучаю и изучаю контейнеры и кубернеты с помощью podman и minikube на рабочей станции Linux. Я использую podman для создания образов на рабочей станции и хотел бы развернуть эти образы в minikube, также работающем на рабочей станции, с использованием драйвера виртуальной машины kvm2. Я также запускаю minikube, используя среду выполнения контейнера CRI-O.

Каковы эффективные рабочие процессы для развертывания этих образов с рабочей станции на мини-куб в этом сценарии? Docker не работает на виртуальной машине minikube, поэтому повторное использование демона Docker, как описано в документации minikube, не является вариантом. Совместное использование файловой системы хоста с minikube также кажется нецелесообразным в настоящее время при использовании kvm2.

Является ли использование локального реестра, видимого как для рабочей станции, так и для виртуальной машины minikube, лучшим вариантом? Ответы на вопрос, как использовать локальные образы докеров с Minikube? и (Kubernetes + Minikube) не может получить образ докера из локального реестра, чтобы предложить хорошие решения для настройки локального реестра.

Скопео было бы решением?

Изменить: это хороший пост, описывающий, как настроить реестр с помощью podman: https://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/

благодарю вас

Брэд

1 ответ

Документация 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"

Включите надстройку реестра minikube.

minikube addons enable registry

Настройте podman для использования небезопасного реестра minikube, добавив реестр в раздел небезопасных реестров. /etc/containers/registries.conf. Этот раздел теперь выглядит как

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

где 192.168.39.175 - это ip-адрес minikube. Этот ip может измениться после перезапуска minikube.

Следуйте командам build, push и run в 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

Это сработало, но имеет серьезные осложнения: в настоящее время нет очевидного способа установить IP-адрес для виртуальной машины minikube при использовании kvm2. IP всегда будет в подсети 192.168.39.0/24, но это единственная уверенность. Каждый раз, когда запускается minikube, IP-адрес реестра будет меняться, что имеет значительные последствия для podman и рабочего процесса в целом.

Впереди еще одно решение.

Другие вопросы по тегам