Каковы хорошие рабочие процессы для развертывания образов контейнеров, созданных 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 и рабочего процесса в целом.
Впереди еще одно решение.