☸️ Общекластерный доступ Kubernetes к реестру частных контейнеров с помощью imagepullsecret-patcher — Information Security Squad
☸️ Общекластерный доступ Kubernetes к реестру частных контейнеров с помощью imagepullsecret-patcher

Вступление

Kubernetes позволяет нам настраивать учетные данные реестра частных контейнеров с помощью imagePullSecrets для каждого пода или для каждого пространства имен.

Однако, как администраторы кластера, мы можем сократить время, затрачиваемое на обслуживание, и завершить это раз и навсегда.

Мы  открыли простое приложение Kubernetes с открытым исходным кодом под названием imagepullsecret-patcher, которое автоматически создает и исправляет imagePullSecrets для учетных записей служб по умолчанию во всех пространствах имен Kubernetes, чтобы разрешить доступ с проверкой подлинности для всего кластера в реестр частных контейнеров.

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

Кластеры должны получить доступ к нашему реестру частных контейнеров в Google Cloud, чтобы получить образа нашего частного Docker.

Мы можем сделать это, сначала создав секрет Kubernetes с помощью конфигурации Docker.

☸️ Генерация секрета TLS в Kubernetes

Как примечание, Реестр контейнеров Google (GCR) поддерживает метод аутентификации файла ключей JSON, в котором в качестве имени пользователя используется _json_key, а в качестве пароля — содержимое личного ключа учетной записи службы.
Далее, есть два способа использовать секрет образа, который мы только что создали.
Один из способов — указать это в определении Pod.
Другой способ — добавить его к стандартной учетной записи ServiceAccount в пространстве имен Pod с помощью команды исправления kubectl.

Мы пошли по второму пути, так что администраторам кластера нужно сделать это только один раз для каждого пространства имен, и разработчики также могут избегать добавления дополнительных строк в свои определения развертывания.

Однако мы ожидаем, что новые пространства имен будут создаваться очень часто, и это станет бременем для администраторов нашего кластера, поскольку им придется выполнять эту задачу повторно, когда новое пространство имен добавляется в кластеры.

Поэтому с учетом преимуществ автоматизации есть небольшое приложение Kubernetes  Client-Go.

Реализация

Вот диаграмма, показывающая рабочий процесс imagepullsecret-patcher.

Для более подробной информации, пожалуйста, обратитесь к репозиторию GitHub.

Увидим это в действии

После развертывания в наших кластерах Kubernetes мы можем увидеть его в действии!

Как видно из двух последних логов  на этом снимке экрана, когда было создано новое пространство имен compliance , оно автоматически выполняло задачу, создавая секрет в пространстве имен и исправляя учетную запись службы по умолчанию.
Когда команды начали развертывать свои приложения в пространстве имен, они уже прошли проверку подлинности в нашем личном реестре без проблем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *