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

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

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

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

Будет ли skopeo решением проблемы?

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

спасибо

Брэд

1 Ответ

1 голос
/ 20 января 2020

Документация Minikube обеспечивает основу для потенциального рабочего процесса на https://minikube.sigs.k8s.io/docs/tasks/docker_registry/. Чтобы использовать podman вместо docker, я сделал следующее:

Запустите мини-куб, как указано, с флагом --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 для использования незащищенного реестра мини-куба, добавив реестр в раздел незащищенных реестров /etc/containers/registries.conf. Этот раздел теперь выглядит как

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

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

Следуйте командам build, pu sh и запуска в https://minikube.sigs.k8s.io/docs/tasks/docker_registry/, заменяя podman на docker. Предполагается, что файл контейнера test-img существует.

Сборка: podman build --tag $(minikube ip):5000/test-img .

Pu sh: 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 su bnet, но это единственная уверенность. Каждый раз, когда запускается minikube, IP-адрес реестра будет меняться, что имеет значительные последствия для podman и рабочего процесса в целом.

Еще больше, чтобы найти другое решение.

...