OpenShift имеет действительно удобную функцию, называемую потоками изображений. Он также имеет встроенный реестр Docker V2, который также очень полезен. Тем не менее, реестр не разоблачен вне кластера. Итак, как вы делаете обновления изображений?
1. Убедитесь, что у вас есть необходимая политика RBAC
Чтобы вытащить/вытащить из внутреннего реестра OpenShift, вашему пользователю OpenShift необходимо иметь несколько разрешений. Как другой Кластер-Админ Пользователь или через узел Master OpenShift в Система: администратор Пользовательский контекст, примените следующие политики к вашему intent_user :
$ oc adm policy add-role-to-user system:registry-n $ oc adm policy add-role-to-user system:image-builder -n ## or for cluster-wide access... $ oc adm policy add-cluster-role-to-user system:registry $ oc adm policy add-cluster-role-to-user system:image-builder
С этими политиками вы можете получить доступ ко внутреннему реестру с помощью inded_user и выполнить Docker push/pull
команды
2. Войдите в свой узел приложения OpenShift
Это действительно единственный трюк — вы не хотите делать это на своих главных узлах, так как это в Система: администратор контекст Вы также не можете сделать это на своей локальной машине, так как у нее нет доступа к маршрутированному default.svc домен внутри кластера. Так что выберите один из ваших узлов инфраструктуры и запустите следующее:
$ oc login $ sudo docker login -u openshift -p $(oc whoami -t) docker-registry.default.svc:5000
3. Потянуть и нажмите Действительно хорошо
Теперь, когда мы вошли в наш внутренний реестр OpenShift из узела приложения OpenShift, мы можем продолжать выдвигать новое изображение в поток изображений и реестр. Если у вас есть конфигурация развертывания, которая обновляется при изменении изображения, это действие также выполнит обновление.
$ sudo docker pull yourUser/someContainer:latest $ sudo docker tag yourUser/someContainer:latest docker-registry.default.svc:5000// : $ sudo docker push docker-registry.default.svc:5000/ / :
Теперь, если ваше развертывание обновляется при изменении изображения, вы должны увидеть обновление, которое происходит очень быстро — Ультра-Quick Если вы оказались на узле, который работает, этот стручок, так как слои изображений уже находятся в системе из вашего Docker Pull
Команда!
Если бы только кто -то смог превратить это в Ansible Playbook, которая может быть выпущена как часть сценария локально или через Ansible Tower …
Оригинал: «https://dev.to/kenmoini/access-the-openshift-internal-registry-3kjh»