Посетите панель управления Kubernetes через прокси-сервер nginx

Я хотел посетить свою панель управления в локальной установке Kubernetes (с помощью docker для Mac). Я был «заблокирован». Я должен предоставить токен или свою конфигурацию, что является нормальным после обновления RBAC.

Теперь я не хочу kubectl proxy или включать port forwarding каждый раз, когда хочу посетить свою панель управления, поэтому я установил прокси-сервер nginx с входом (tls), который перенаправляет меня на https://kubernetes-dashboard.kube-system.svc.cluster.local:443.

Это работает нормально, но теперь я немного запутался, потому что теперь я вижу панель управления, не сталкиваясь с проблемой RBAC.

Я прочитал это здесь:

Чтобы Dashboard использовал заголовок авторизации, вам просто нужно передавать Authorization: Bearer в каждом запросе к Dashboard. Этого можно достичь, например, настроив обратный прокси перед Dashboard. Прокси-сервер будет отвечать за аутентификацию с поставщиком удостоверений и будет передавать сгенерированный токен в заголовке запроса в Dashboard. Обратите внимание, что сервер API Kubernetes должен быть правильно настроен для приема этих токенов.

Но мне все еще не очень понятно. Может ли кто-нибудь объяснить, почему я вижу панель управления, когда я создаю прокси перед ней?


person DenCowboy    schedule 29.07.2018    source источник
comment
github.com/kubernetes/ingress-nginx/blob/ master / docs / deploy / и / kubernetes / ingress-nginx / blob / может помочь   -  person VonC    schedule 29.07.2018
comment
Не могли бы вы опубликовать свои настройки https в nginx? Какая у вас конфигурация ниже location / {.....}. Ура ch   -  person Mchoeti    schedule 12.04.2019


Ответы (1)


Прокси-сервер обычно нужен для передачи данных между разными сегментами сети без их прямого подключения. Каждый сегмент сети «разговаривает» с прокси-хостом, не зная о существовании другого сегмента сети.

Прокси-сервер отвечает за все переговоры и операции, касающиеся запросов и пакетов ответов. Итак, чтобы включить аутентификацию, авторизацию, завершение SSL и многое другое, вам необходимо настроить прокси-сервер в соответствии с вашими потребностями.

Если вы видите перед собой панель управления kubernetes через прокси, это просто означает, что вы не настраивали безопасность на этом прокси.

Например, чтобы узнать, как настроить Nginx Ingress для защиты службы с базовой аутентификацией в вашем кластере, подумайте о прочтении этого статья.

Для более сложной настройки безопасности прочтите статью о защита сервисов Kubernetes с помощью Ingress, TLS и LetsEncrypt.

person VASャ    schedule 30.07.2018
comment
Что ж, я смог использовать tls (самоподписанные сертификаты) на входном прокси-сервере nginx и использовать htpasswd для аутентификации, так что эта часть работает нормально. Меня перенаправили на https, и мне нужно предоставить учетные данные, после чего я был перенаправлен на панель управления. Но я не понимаю, почему я больше не сталкиваюсь с «предоставить конфигурацию» или «предоставить токен-носитель» и т. Д., Которые мне нужно предоставить, когда я захожу на панель управления с помощью kubectl port-forward. - person DenCowboy; 30.07.2018
comment
Возможно, это связано с тем, что токен доступа кэшируется в cookie браузера. - person VASャ; 31.07.2018
comment
Вот хорошая статья о доступе к панели управления Kubernetes с помощью сервера API: joseluisgomez.com/containers/kubernetes- панель управления - person VASャ; 31.07.2018