Хранилище технически круто, но может быть административным бременем.Вы можете получить надежную защиту «секретов», какими бы они ни были;вы можете никогда не делиться волшебными секретами, такими как пароль к вашей центральной базе данных, генерируя одноразовые пароли;если вам нужно что-то подписанное или зашифрованное, вы можете попросить Vault сделать это для вас и избежать необходимости знать криптографический секрет самостоятельно.Большим минусом является то, что это отдельный сервис для управления, получение секретов из него не является полностью незаметным, и вам иногда нужно иметь сторону администратора, чтобы распечатать его, если вам нужно перезапустить сервер.
Секреты Kubernetesна самом деле просто ConfigMaps с другим именем.С настройками по умолчанию для оператора очень легко получить значение Secret (kubectl get secret ... -o yaml
, затем base64 декодировать строки), так что они на самом деле не такие секретные.Если у вас есть интересная настройка пространства имен, вы, как правило, не можете получить доступ к Секрету в другом пространстве имен, что может означать необходимость много копировать вокруг Секретов.Использование только собственных инструментов, таких как kubectl
, для управления секретами также немного неуклюже.
Передача учетных данных через Helm, вероятно, является наиболее плавным путем - очень просто преобразовать значение Helm в объект Secret для передачи.в контейнер, и очень легко вставить значения откуда-то, как система CI - но также наименее безопасным.В дополнение к возможности выгрузки значений через kubectl
вы также можете helm get values
в релизе Helm, чтобы узнать значения.
Так что вопрос в том, насколько важно хранить ваши секреты на самом деле в секрете,и сколько усилий вы хотите приложить. Если вы хотите бесшовной интеграции и можете ограничить доступ к вашему кластеру авторизованным операторам и эффективно использовать RBAC, значение Helm может быть достаточно хорошим.Если вы можете инвестировать в технически лучшее, а также самое сложное решение, и вам нужны некоторые из его расширенных возможностей, Vault работает хорошо.Сохранение простого секрета Kubernetes - своего рода золотая середина, это немного более безопасно, чем использование Helm, но не так легко управляемо.