Является ли хорошей практикой новое пространство имен K8 для каждого развертывания ветви функций? - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь выяснить, как организовать пространства имен K8s для кластера разработки.

Теперь у нас есть несколько пространств имен разработки (на команду).

В одном пространстве имен есть тонны пакетов (около 100-200).

1-5 модулей на развертывание ветви функций.

Мы используем Helm для развертывания. Но некоторые товарищи по команде говорят, что им сложно управлять.

Новая идея заключается в создании пространства имен для каждого развертывания ветви функций.

Теперь я вижу, что основная проблема заключается в совместном использовании секретов TLS (и других) между пространствами имен. Но это можно решить, сделав CronJob.

Есть ли какие-либо преимущества или недостатки у этого подхода?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

Пространство имен для (обзорной) ветки объектов - это путь.

Изоляция каждой группы развертывания делает ее управляемой ...

Также, если вы используете панель управления kubernetes, обзор пространства имен станет более понятным.

Идея синхронизации секретов и configMaps по умолчанию хороша, если вы действительно повторно используете все эти элементы, и они никогда не связаны с пространством имен.

Генерация секретов и configMaps динамически в момент создания пространства имен и добавление их тут же для этого пространства имен, а не для синхронизации, - это еще один путь.

Существует причина, по которой секреты и configMaps изолированы, специфичны для пространства имен и находятся в определенном пространстве имен. На секреты и configMaps могут ссылаться только модули, находящиеся в одном и том же пространстве имен.

То, что вы можете синхронизировать, не означает, что вы должны ...

Если вы по-прежнему настаиваете на синхронизации, то имейте 1 группу «syncable-shared-secrets» и другую группу, специфичную для пространства имен.

https://kubernetes.io/docs/concepts/configuration/secret/#restrictions

https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#restrictions

0 голосов
/ 05 ноября 2018

Это, безусловно, хороший подход к использованию пространств имен для ограничения развертываний функциональными группами.
Но развертывание 50+ контейнеров становится сложным для управления в каждом пространстве имен, особенно если в пакетах содержится более 10 контейнеров. Таким образом, вы будете иметь тенденцию управлять 50X10 = 500 контейнеров на группу развертывания.

1-5 модулей на развертывание ветви функций.

Это действительно отличный способ использовать пространство имен, но, тем не менее, у вас будет много и много пространств имен, которые нужно помнить, когда вы изначально сказали, что имеете 100-200 стручков.

Надеюсь, вы используете rbac в k8s

...