Как войти в панель управления microk8s Kubernetes?

Я включил приборную панель в microk8s:

microk8s.enable dns dashboard

Я нашел его IP-адрес:

microk8s.kubectl get all --all-namespaces
    ...
kube-system   service/kubernetes-dashboard ClusterIP 10.152.183.212 <none> 443/TCP 24h
    ...

Я попытался отобразить его в своем браузере, используя URL-адрес https://10.152.183.212/. Мой браузер выдает ошибку "Ошибка аутентификации. Пожалуйста, попробуйте еще раз.":

Я также получил похожую ошибку: "Недостаточно данных для создания информационной структуры аутентификации".

5 ответов

Решение

Во-первых, убедитесь, что ваш браузер принимает файлы cookie для URL-адреса вашей панели, https://10.152.183.212 в этом случае.

Благодаря слабой защите microk8s, вы можете пропустить вход и просто нажать кнопку SKIP.

Если вы хотите войти в систему по-настоящему, получите токен на предъявителя для пользователя admin из файла /snap/microk8s/current/known_token.csv:

sed -n 's/,admin,admin.*//p' /snap/microk8s/current/known_token.csv
rP8Yredactedk5EU

Вернитесь в браузер, выберите токен и введите токен на предъявителя, найденный выше. Выберите SIGN IN и введите токен на предъявителя:

Чтобы расширить ответ @John, иногда вас могут спросить с помощью HTTP Basic Auth Prompt, вы также можете найти эти учетные данные в:

#/var/snap/microk8s/current/credentials/basic_auth.csv

~/:$ sudo cat /var/snap/microk8s/current/credentials/basic_auth.csv

<password>,admin,admin,"system:masters"

Первое значение (password) - фактический пароль, пользователь будет admin.

Позже вас могут попросить войти в систему с помощью секретного токена. Его можно получить следующим образом:

Во-первых, давайте выясним, какое имя токена (оно случайное), получив секретный список:

~/:$ kubectl -n kube-system get secret

NAME                               TYPE                                  DATA   AGE
coredns-token-k64mx                kubernetes.io/service-account-token   3      86s
.
.
kubernetes-dashboard-token-wmxh6   kubernetes.io/service-account-token   3      80s

Последний токен (kubernetes-dashboard-token-wmxh6) - это то, что мы ищем, давайте теперь получим фактическое значение:

~/:$ kubectl -n kube-system describe secret kubernetes-dashboard-token-wmxh6 

Name:         kubernetes-dashboard-token-wmxh6
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kubernetes-dashboard
              kubernetes.io/service-account.uid: 538fbe6d-ac1e-40e8-91e9-ec0cf4265545

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1115 bytes
namespace:  11 bytes
token:      <token-value>

Значение поля токена (<token-value>) будет токеном для входа в панель управления K8s.

Оттуда все будет в порядке.

kubectl describe service/kubernetes-dashboard -n kube-system

Вернет конечную точку. Для меня это выглядит так: 10.1.43.61:8443 Затем вы можете открыть свой браузер по адресу https://10.1.43.61:8443/, и вам, вероятно, придется обойти предупреждение системы безопасности.

Теперь вам нужно пройти аутентификацию, чтобы получить доступ к панели управления.

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token

(эта команда из документации) вернет токен аутентификации. Вставьте токен в экран входа в систему, и теперь у вас должен быть доступ к панели управления.

Вы можете получить токен с помощью следующей команды:

      microk8s config

И получите следующий вывод:

      apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ***
    server: https://172.20.10.4:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    token: S2Vyb0pBTEZIMXI0SG1DT1hIWEpoeTc3ZTYvaEZXbXdEMnFaMnZ0eWVXMD0K

Токен можно использовать для входа в панель управления.

Моя версия microk8sMicroK8s v1.26.6 revision 5479, Я могу использоватьmicrok8s kubectl proxyи это даст результат, как показано ниже

      Checking if Dashboard is running.
Infer repository core for addon dashboard
Waiting for Dashboard to come up.
Trying to get token from microk8s-dashboard-token
Waiting for secret token (attempt 0)
Dashboard will be available at https://127.0.0.1:10443
Use the following token to login:
<long token show here>
Другие вопросы по тегам