![Пользователь/пароль панели управления Kubernetes?](https://rvso.com/image/726766/%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%2F%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BF%D0%B0%D0%BD%D0%B5%D0%BB%D0%B8%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20Kubernetes%3F.png)
Как защитить панель управления Kubernetes с помощью пользователя/пароля от внешнего доступа?
Создайте кластер с использованием Minikubes в режиме vm-driver=none.
решение1
В Kubernetes запросы поступают как Аутентификация (учетные данные, которые определяют, кто общается с сервером API) и Авторизация (чтобы сервер API мог определить, может ли этот пользователь выполнить запрошенное действие). Однако в Kubernetes нет пользователей в традиционном смысле этого слова (пользователи Kubernetes — это просто строки, связанные с запросом через учетные данные). Стратегия учетных данных — это выбор, который вы делаете при установке кластера (вы можете выбрать x509, файлы паролей, токены Bearer и т. д.).
Поскольку вы добавили, что хотите создавать пользователей, используя --vm-driver=none, я предполагаю, что панель управления и сам кластер доступны в сети для всех. Minikube предназначен для локальной разработки и тестирования, похоже, что он создает роль от вашего имени. Вы можете попробовать установить обычный кластер Kubernetes, используякубеадмвместо использования упрощенной версии, развернутой с помощью Minikube. После того, как minikube start
minikube создаст роль кластера "kubernetes dashboard" и связанный с ним токен. Поэтому другим возможным решением будет удалить Kubernetes Dashboard и установить его с нуля, следуя инструкциямздесьс созданием пользователя, как описаноздесьвы также можете попробовать создать новые роли для пользователей, но у меня не было достаточно времени, чтобы протестировать это решение. Также я бы рекомендовал вам использовать другие инструменты для более сложных задач с Kubernetes - с kubeadm вы можете установить панель управления самостоятельно и настроить ее в соответствии со своими потребностями.
Дальшечтениео контроле доступа на панели управления Kubernetes. Создание учетной записи службы для панели управления и получение ее учетных данныхшаг 7:
- Эта команда создаст учетную запись службы для панели мониторинга в пространстве имен по умолчанию.
$ kubectl создать панель управления учетной записью службы -n по умолчанию
- Эта команда добавит правила привязки кластера в вашу учетную запись панели управления.
$ kubectl create clusterrolebinding dashboard-admin -n default \
--clusterrole=cluster-admin \ --serviceaccount=default:dashboard
- Эта команда предоставит вам токен, необходимый для входа в панель управления.
$ kubectl получить секрет $(kubectl получить serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode
Вы должны получить токен. 4. Скопируйте этот токен и вставьте его на страницу входа в панель управления, выбрав опцию токена.