Использование OAuth2 с Nginx Ingress Controller
Постоянно в хозяйстве появляются интерфейсы, у которых своей аутентификации нет, а доступ нужно выдать ограниченной группе доверенных товарищей. Например, к интерфейсу шибко популярного Prometheus. Или часто к какому-то самопису.
Как мы решаем эту проблему? Бывает, никак. Закрываем доступ из внешней сети, а во внутренней, понятно, все свои. Следующий пункт -- собираем все админки за nginx, кладем htpasswd типа admin:<хеш страшно длинного пароля> и настраиваем basic auth через него в серверах всех своих админок. Ну и, наконец, выдаём каждому по паролю, и раскладываем htpasswd побольше. На этом этапе уже ропщет и команда, которая прилежно копипастит пароли от сервиса к сервису, и поддерживающий конфигурацию админ. До вершины эволюции этого подхода -- раздачи каждому разных паролей для разных сервисов -- на практике доходят редко, потому что настроения в коллективе уже на предыдущей стадии приближаются к революционным.
Что можно предложить для снятия боли от поддержки настройки доступа к зоопарку админок?..
#kubernetes #nginx #ingress #oauth2 #authentication
Постоянно в хозяйстве появляются интерфейсы, у которых своей аутентификации нет, а доступ нужно выдать ограниченной группе доверенных товарищей. Например, к интерфейсу шибко популярного Prometheus. Или часто к какому-то самопису.
Как мы решаем эту проблему? Бывает, никак. Закрываем доступ из внешней сети, а во внутренней, понятно, все свои. Следующий пункт -- собираем все админки за nginx, кладем htpasswd типа admin:<хеш страшно длинного пароля> и настраиваем basic auth через него в серверах всех своих админок. Ну и, наконец, выдаём каждому по паролю, и раскладываем htpasswd побольше. На этом этапе уже ропщет и команда, которая прилежно копипастит пароли от сервиса к сервису, и поддерживающий конфигурацию админ. До вершины эволюции этого подхода -- раздачи каждому разных паролей для разных сервисов -- на практике доходят редко, потому что настроения в коллективе уже на предыдущей стадии приближаются к революционным.
Что можно предложить для снятия боли от поддержки настройки доступа к зоопарку админок?..
#kubernetes #nginx #ingress #oauth2 #authentication
Включение внешних сервисов в контекст Kubernetes
Речь о создании объекта Service, за которым стоит не под, а внешний по отношению к кластеру Kubernetes сервер.
Приём позволяет сделать по крайней мере две полезные вещи:
подключить внешний сервис к Prometheus с использованием Kubernetes SD;
создать для внешнего сервиса запись во внутреннем DNS Kubernetes.
Собственно приём заключается в создании headless сервиса без селектора и соответствующего объекта Endpoints...
#kubernetes #prometheus #redis #servicediscovery
Речь о создании объекта Service, за которым стоит не под, а внешний по отношению к кластеру Kubernetes сервер.
Приём позволяет сделать по крайней мере две полезные вещи:
подключить внешний сервис к Prometheus с использованием Kubernetes SD;
создать для внешнего сервиса запись во внутреннем DNS Kubernetes.
Собственно приём заключается в создании headless сервиса без селектора и соответствующего объекта Endpoints...
#kubernetes #prometheus #redis #servicediscovery