Я пытаюсь получить доступ к панели управления kubernetes с помощью метода Token вне сети.
Я выполнил эти 2 команды, чтобы получить токен
kubectl -n kube-system get secret
kubectl -n kube-system describe secret replicaset-controller-token-2p4fk
Скопируйте и вставьте выходной токен на страницу входа в K8.
Я получаю эту ошибку в консоли браузера, когда нажимаю кнопку «Войти» (страница не загружается).
Я запускаю k8 на внутреннем сервере с помощью команды:
kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
И пытаюсь получить доступ к консоли k8 UI из внешней сети.
Failed to load resource: the server responded with a status of 401 (Unauthorized)
vendor.bd425c26.js:6 Error during global settings reload: Object
:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/api/v1/rbac/status:1 Failed to load resource: the server responded with a status of 401 (Unauthorized)
vendor.bd425c26.js:6 Possibly unhandled rejection: {"data":"MSG_LOGIN_UNAUTHORIZED_ERROR\n","status":401,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"api/v1/rbac/status","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"Unauthorized","xhrStatus":"complete","resource":{}}
Я даже пробовал эти шаги, но не повезло, страница не загружается при нажатии кнопки «Войти».
$ kubectl -n kube-system get secret
# All secrets with type 'kubernetes.io/service-account-token' will allow to log in.
# Note that they have different privileges.
NAME TYPE DATA AGE
deployment-controller-token-frsqj kubernetes.io/service-account-token 3 22h
$ kubectl -n kube-system describe secret deployment-controller-token-frsqj
Name: deployment-controller-token-frsqj
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name=deployment-controller
kubernetes.io/service-account.uid=64735958-ae9f-11e7-90d5-02420ac00002
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZXBsb3ltZW50LWN
Вот мой файл Kube / config
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRV..
server: https://192.168.15.97:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBD..
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJ..
И почему я не вижу кнопку Пропустить рядом с кнопкой «Подписать»?
Я тоже попробовал эти шаги:
Выполните следующие команды:
Эта команда создаст учетную запись службы для панели управления в пространстве имен по умолчанию.
$kubectl create serviceaccount dashboard -n default
Эта команда добавит правила привязки кластера к вашей учетной записи панели управления.
kubectl create clusterrolebinding dashboard-admin -n default \ --clusterrole = cluster-admin \ --serviceaccount = default: панель управления
Эта команда предоставит вам токен, необходимый для входа в личный кабинет.
$kubectl get secret $(kubectl get serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode
Могут ли мне помочь здесь, что я упускаю.
Некоторые выводы: Ссылка Команда kubectl proxy разрешает только HTTP-соединение. Для доменов, отличных от localhost и 127.0.0.1, будет невозможно войти в систему. После нажатия кнопки «Войти» на странице входа ничего не произойдет.
kubectl proxy
Не поддерживает вызовы https.
Есть ли способ запустить команду kubectl proxy вместе с IP-адресом сервера Kubernetes из внешней / локальной сети Windows?
Примечание. Локальная система - это Windows 10, а K8 - это сервер Linux. Версия Docker: 18.09 и версия k8: v1.13.1
Спасибо,