Панель инструментов Kubernetes, показывающая Несанкционированный - PullRequest
0 голосов
/ 28 ноября 2018

Я настроил кластер kubernetes с одним главным и 4 рабочими узлами, используя инструмент KUBEADM IN LOCAL.Все узлы работают нормально.развернул приложение и получил доступ к нему из браузера.Я пробовал много способов создать панель мониторинга, используя kubectl, но мне это не удалось.

TRY1: попробовал напрямую с помощью следующей команды:

$ sudo kubectl proxy --address="172.20.22.101" -p 8001 

попытался получить доступ кпанель инструментов, использующая URL http://172.20.22.101:8001/api/v1,, но она не авторизована.

TRY2: создан файл dashboard-admin.yaml со следующим содержимым:

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
   name: kubernetes-dashboard
   labels:
     k8s-app: kubernetes-dashboard
roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole
   name: cluster-admin
subjects:
-  kind: ServiceAccount
   name: kubernetes-dashboard
   namespace: kube-system

И выполните следующую команду:

$ kubectl create -f dashboard-admin.yaml

Мне показывается: clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created.

Выполнение команды ниже:

$ sudo kubectl proxy --address="172.20.22.101" -p 443

работает нормально.Я получаю доступ к http://172.20.22.101:443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ URL из браузера.показывает ту же несанкционированную ошибку.

1 Ответ

0 голосов
/ 28 ноября 2018

запустить прокси-команду kubectl с - accept-hosts , опция

 kubectl proxy --address="172.20.22.101" -p 8001  --accept-hosts="^*$"

, и она будет работать нормально.

Примечание: это не рекомендуетсядля кластеров kubernetes производственного класса, поскольку вы получаете доступ к панели мониторинга через простой http.

Более безопасным вариантом является запуск доступа к панели мониторинга через ssh-туннель следующим образом.

в одном терминалезапустите:

kubectl proxy 

в другом терминале запустите туннель ssh к localhost: 8001 (порт панели управления kubernetes по умолчанию)

ssh -NT -l SSH_USER -p SSH_PORT K8S_CONTROLLER_IP_ADDR -L 8001:localhost:8001
...