Я только что обновил kubeadm и kubelet до версии 1.8.0. И установите приборную панель, следуя официальному документу .
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
После этого я запустил приборную панель, запустив
$ kubectl proxy --address="192.168.0.101" -p 8001 --accept-hosts='^*$'
Затем, к счастью, я смог получить доступ к панели управления через http://192.168.0.101:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Меня перенаправили на страницу входа в систему, которую я никогда раньше не встречал. Похоже, есть два способа аутентификации.
Я попытался загрузить /etc/kubernetes/admin.conf
файл как kubeconfig, но мне это не удалось. Затем я попытался использовать полученный токен kubeadm token list
для входа, но снова потерпел неудачу.
Вопрос в том, как я могу войти в личный кабинет. Похоже, они добавили больше механизмов безопасности, чем раньше. Спасибо.
источник
Ответы:
- Панель управления на Github
знак
Здесь
Token
может бытьStatic Token
,Service Account Token
,OpenID Connect Token
от Kubernetes Аутентификация , но не kubeadmBootstrap Token
.С помощью kubectl мы можем получить учетную запись службы (например, контроллер развертывания), созданную в kubernetes по умолчанию.
Kubeconfig
Панели управления требуется, чтобы у пользователя в файле kubeconfig было либо
username & password
илиtoken
, ноadmin.conf
толькоclient-certificate
. Вы можете отредактировать файл конфигурации, чтобы добавить токен, извлеченный описанным выше способом.Альтернатива (не рекомендуется для производства)
Вот два способа обойти аутентификацию, но используйте их с осторожностью.
Развернуть панель мониторинга с HTTP
Информационную панель можно загрузить по адресу http: // localhost: 8001 / ui с расширением
kubectl proxy
.Предоставление прав администратора учетной записи службы Dashboard
Впоследствии вы можете использовать Skipопцию на странице входа в систему для доступа к панели инструментов.
Если вы используете версию панели мониторинга v1.10.1 или новее, вы также должны добавить
--enable-skip-login
аргументы командной строки развертывания. Вы можете сделать это, добавив его вargs
инkubectl edit deployment/kubernetes-dashboard --namespace=kube-system
.Пример:
источник
TL; DR
Чтобы получить токен в одной строке:
Это предполагает, что ваш ~ / .kube / config присутствует и действителен. А также это
kubectl config get-contexts
означает, что вы используете правильный контекст (кластер и пространство имен) для панели мониторинга, в которую вы входите.объяснение
Я получил этот ответ из того, что я узнал из ответа @ silverfox. Это очень информативная статья. К сожалению, он не говорит вам, как на самом деле применить информацию на практике. Может быть, я слишком долго занимаюсь DevOps, но я думаю в оболочке. Мне намного сложнее учиться или преподавать на английском языке.
Вот эта единственная строка с разрывами строк и отступами для удобства чтения:
Есть 4 разные команды, и они вызываются в следующем порядке:
deployment-controller-token-
(которое является именем модуля)источник
kubectl describe secret $(kubectl get secret | awk '/^dashboard-token-/{print $1}') | awk '$1=="token:"{print $2}'
или нажмите прямо в буфер обменаkubectl describe secret $(kubectl get secret | awk '/^dashboard-token-/{print $1}') | awk '$1=="token:"{print $2}' | xclip -selection clipboard -i
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls admin-user | ForEach-Object { $_ -Split '\s+' } | Select -First 1)
из github.com/kubernetes/dashboard/blob/master/docs/user/...Если вы не хотите предоставлять разрешение администратора учетной записи службы панели мониторинга, вы можете создать учетную запись службы администратора кластера.
Затем вы можете использовать токен только что созданной учетной записи службы администратора кластера.
Я процитировал это из руководства giantswarm - https://docs.giantswarm.io/guides/install-kubernetes-dashboard/
источник
Объединяя два ответа: 49992698 и 47761914 :
источник
Не требующий пояснений простой однострочный инструмент для извлечения токена для входа в панель управления kubernetes.
Скопируйте токен и вставьте его на панель управления kubernetes в разделе входа в систему с помощью токена, и вы можете использовать панель управления kubernetes.
источник
Все предыдущие ответы мне нравятся. Но прямой ответ с моей стороны будет с https://github.com/kubernetes/dashboard/wiki/Creating-sample-user#bearer-token . Просто используйте
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
. Вы будете иметь много значений для некоторых клавиш (Name
,Namespace
,Labels
, ...,token
). Самое главное - этоtoken
то, что соответствует вашему имени. скопируйте этот токен и вставьте его в поле токена. Надеюсь это поможет.источник
Вам необходимо выполнить следующие действия перед аутентификацией токена
Создание учетной записи службы администратора кластера
Добавьте правила привязки кластера в свою учетную запись панели управления
Получите секретный токен с помощью этой команды
Выберите аутентификацию токена на странице входа в личный кабинет Kubernetes.
Теперь вы можете войти в систему
источник
Загрузите https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
Добавить
А затем запустите эту команду:
Найдите открытый порт с помощью команды:
Вы должны иметь возможность получить панель управления по адресу http: // hostname: visibleport / без аутентификации.
источник
Пропуск входа в систему по умолчанию отключен из-за проблем с безопасностью. https://github.com/kubernetes/dashboard/issues/2672
в панели управления yaml добавьте этот аргумент
вернуть это
источник
The skip login has been disabled by default due to security issues
. Попытка ответа есть- --enable-skip-login
. Возможно, это не лучший ответ, но это не только ссылка.The skip login has been disabled by default due to security issues
. Попытка ответа есть- --enable-skip-login
. Возможно, это не лучший ответ, но это не только ссылка.