Как я могу защитить свою панель управления Kubernetes с помощью User / Pass от внешнего доступа?
Создайте кластер с помощью миникубов в режиме vm-driver = none.
В Kubernetes запросы поступают в виде аутентификации (учетные данные, которые определяют, кто обращается к серверу API) и авторизации (чтобы сервер API мог определить, может ли этот пользователь выполнить запрошенное действие). Однако Kubernetes не имеет пользователей в традиционном значении этого слова (пользователи Kubernetes - это просто строки, связанные с запросом через учетные данные). Стратегия учетных данных - это выбор, который вы делаете при установке кластера (вы можете выбрать x509, файлы паролей, токены-носители и т. Д.).
Поскольку вы добавили, что хотите создавать пользователей при использовании --vm-driver = none, я предполагаю, что панель управления и сам кластер доступны в сети для всех. Minikube предназначен для локальной разработки и тестирования, похоже, он создает роль от вашего имени. Вы можете попробовать установить обычный кластер Kubernetes, используя Кубеадм вместо использования упрощенной версии, развернутой с Minikube. После minikube start
minikube создает роль кластера «панель управления kubernetes» и связанный токен. Другим возможным решением было бы удалить панель управления Kubernetes и установить ее с нуля, следуя инструкциям. Вот с созданием пользователя, как описано Вот вы также можете попробовать создать новые роли для пользователей, но у меня не было времени протестировать это решение. Кроме того, я бы порекомендовал вам использовать другие инструменты для более сложных задач с Kubernetes - с помощью kubeadm вы можете самостоятельно установить панель управления и настроить ее в соответствии со своими потребностями.
Дальше чтение о контроле доступа в дашборде Kubernetes. Создание сервисного аккаунта для панели управления и получение учетных данных шаг 7:
- Эта команда создаст учетную запись службы для панели управления в пространстве имен по умолчанию.
$ kubectl create serviceaccount dashboard -n по умолчанию
- Эта команда добавит правила привязки кластера в вашу учетную запись панели управления.
$ kubectl create clusterrolebinding dashboard-admin -n default \
--clusterrole = cluster-admin \ --serviceaccount = по умолчанию: панель управления
- Эта команда предоставит вам токен, необходимый для входа в личный кабинет.
$ kubectl get secret $ (kubectl get serviceaccount dashboard -o jsonpath = "{. secrets [0] .name}") -o jsonpath = "{. data.token}" | base64 --decode
У вас должен получиться жетон. 4. Скопируйте этот токен и вставьте его на страницу входа в Личный кабинет, выбрав параметр токена.