Создание образов докеров в кластере kuberentes - PullRequest
0 голосов
/ 25 июня 2018

У нас есть требование для создания пользовательских образов докеров из базовых образов докеров с некоторыми дополнительными пакетами / настройками. Эти пользовательские образы докеров необходимо затем развернуть в kubernetes. Мы исследуем различные инструменты, чтобы выяснить, как сборка docker может выполняться в кластере kubernetes (без прямого доступа к демону docker). Инструменты с открытым исходным кодом, такие как kaniko, позволяют создавать образы докеров внутри контейнера (следовательно, в кластере kubernetes).

  1. Является ли хорошей практикой сборка образов Docker в кластере kubernetes, где будут запускаться / выполняться другие контейнеры? Есть ли какие-либо очевидные проблемы с Канико?

  2. Нужно ли создавать отдельные выделенные виртуальные машины для управления процессом сборки?

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Возможно построить образы на узлах kubernetes.Но я бы не рекомендовал это.Причина в том, что процесс сборки приложения требует много памяти и вычислений, частые сборки изображений могут привести к нарушению работы служб, запланированных этим узлом kubernetes.

Вместо этого используйте выделенный сервер (ы) Jenkins, создавайте конвейеры в соответствии с вашими требованиями и поставками.

Вы можете начать здесь !

Надеюсь, это поможет!

0 голосов
/ 26 июня 2018

1.Является ли хорошей практикой сборка образов Docker в кластере kubernetes, где будут запускаться / выполняться другие контейнеры?Есть ли какие-либо очевидные проблемы с kaniko?

Да, можно создавать образы в контейнерах Kubernetes , но это может быть проблемой.

Некоторые пользователи используют его для создания рабочего процесса для CI / CD с Jenkins .Фактически, для упрощения процесса лучше использовать инструменты.

У Kubernetes также есть правила для подготовки комплекта для разработки контейнеров, они описаны здесь

Другой способ состоит в том, чтобыиспользуйте Kaniko , этот инструмент создает изображения контейнеров из Dockerfile внутри контейнера или кластера Kubernetes.

Мне показалось интересным прочитать эту статью по этой теме .

С другой стороны, была успешная попытка создания образов без запуска демона Docker.Возможно, вас заинтересует проект Bazel и story , как его использовать.

2.Нужно ли создавать отдельные выделенные виртуальные машины для управления процессом сборки?

Относительно вашего второго вопроса: нет необходимости устанавливать выделенную виртуальную машину для запуска рабочего процесса создания образов Docker.

Наконец,может быть интересно иметь личный реестр в кластере Kubernetes и использовать его для построения.

...