Kubernetes · 4 min read · Feb 03, 2026
Веб-интерфейс панели управления для Kubernetes

Панель управления Kubernetes предоставляет веб-интерфейс для кластера. С помощью панели можно развертывать приложения в кластере, а также устранять неполадки существующих приложений в кластере. Панель также предоставляет информацию о ресурсах в кластере. Панель официально предоставляется Kubernetes. С помощью панели можно создавать, изменять, обновлять и удалять объекты Kubernetes.
В этой статье мы установим официальную панель, предоставляемую Kubernetes, и настроим учетную запись сервиса для доступа к ней. Перед тем как продолжить, предполагается, что вы знакомы с Kubernetes и у вас есть кластер Kubernetes.
Предварительные требования
- Кластер Kubernetes с как минимум 1 рабочим узлом.
Если вы хотите научиться создавать кластер Kubernetes, нажмите здесь. Этот гид поможет вам создать кластер Kubernetes с 1 мастер-узлом и 2 рабочими узлами на AWS Ubuntu 18.04 EC2 Instances. - Базовое понимание Kubernetes.
Что мы будем делать?
- Развернуть панель управления Kubernetes.
- Настроить учетную запись сервиса для доступа к панели управления Kubernetes.
- Получить доступ к панели управления Kubernetes.
Развертывание панели управления Kubernetes
Чтобы развернуть панель управления Kubernetes, мы можем скачать ее объектный файл с Github. Используйте следующую команду для загрузки объектного файла. Этот файл содержит определения для Namespace, ServiceAccount, Service, Secret, ConfigMap, Role, ClusterRole, RoleBinding, ClusterRoleBinding, Deployment и Service.
pwdwget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
Переименуйте файл и измените тип сервиса на NodePort. Смотрите следующий скриншот.
mv recommended.yaml kubernetes-dashboard-deployment.ymlvim kubernetes-dashboard-deployment.yml
После того как вы изменили тип сервиса на NodePort, пришло время создать все объекты, ответственные за развертывание панели управления Kubernetes.
kubectl apply -f kubernetes-dashboard-deployment.ymlПроверьте развертывание, Pod и Service, которые были созданы вышеуказанной командой. Эта команда также создает Namespace, ServiceAccount, Service, Secret, ConfigMap, Role, ClusterRole, RoleBinding, ClusterRoleBinding, Deployment и Service.
kubectl get deployments -n kubernetes-dashboardkubectl get svckubectl get podskubectl get pods -n kubernetes-dashboardkubectl get svc -n kubernetes-dashboard

На приведенном выше скриншоте вы можете видеть, что служба панели управления Kubernetes с типом “NodePort” была создана. Это означает, что панель будет доступна по любому из IP-адресов узлов на NodePort “32304”. Вы можете увидеть другой порт для службы в вашем кластере.
Используйте следующую команду, чтобы получить IP-адреса ваших узлов, которые вам понадобятся на следующих этапах.
kubectl get nodes -o wideНастройка учетной записи сервиса для доступа к панели управления Kubernetes
Чтобы получить доступ к панели управления Kubernetes, вам нужен токен. Чтобы создать токен, сначала необходимо создать учетную запись сервиса.
Создайте новый файл и добавьте в него следующее содержимое для создания учетной записи сервиса. Вы также можете скачать объектный файл из моего репозитория на Github.
vim admin-sa.ymlcat admin-sa.ymlapiVersion: v1
kind: ServiceAccount
metadata:
name: rahul-admin
namespace: kube-systemПосле того как у вас есть объектный файл, выполните следующую команду для создания учетной записи сервиса.
kubectl apply -f admin-sa.yml
Теперь вам нужно связать учетную запись сервиса “rahul-admin” с кластерной ролью “cluster-admin”. Создайте новый файл со следующим содержимым, чтобы создать ClusterRoleBinding, или нажмите здесь, чтобы скачать объектный файл из моего репозитория на Github.
vim admin-rbac.ymlcat admin-rbac.ymlapiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: rahul-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: rahul-admin
namespace: kube-system
Выполните следующую команду для создания “ClusterRoleBinding”.
kubectl apply -f admin-rbac.yml
Теперь у нас есть “ClusterRole” –> “cluster-admin” связанная с “ServiceAccount” –> “rahul-admin”.
Теперь мы готовы получить токен, который будет использоваться для входа в панель управления Kubernetes. Чтобы получить токен, выполните следующие команды.
SA_NAME="rahul-admin"kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ${SA_NAME} | awk '{print $1}')
На приведенном выше скриншоте вы можете увидеть токен, который будет использоваться для входа в панель управления Kubernetes. Скопируйте этот токен и перейдите по URL панели на “NodeIP:NodePort”.
Здесь NodeIP - это IP-адрес любого из узлов в кластере, а NodePort - это порт (в данном случае это 32304, в вашем случае может быть другой порт) службы, которую мы создали.
После того как вы перейдете по URL “NodeIP:NodePort”, вы увидите экран, как показано ниже. Здесь выберите опцию “Token”, введите токен, который мы получили на предыдущем шаге, и нажмите кнопку “Войти”.
Доступ к панели управления Kubernetes

После успешного входа вы должны увидеть панель управления Kubernetes, как показано ниже.

В верхней части экрана вы даже можете изменить Namespace и увидеть ресурсы в нем. Теперь вы готовы исследовать панель управления Kubernetes.

Заключение
В этой статье мы развернули все необходимые объекты Kubernetes, чтобы иметь панель в кластере. Мы создали учетную запись сервиса и ClusterRoleBinding, чтобы получить токен для доступа к панели управления Kubernetes, так как к ней нельзя получить доступ просто так. Панель управления может помочь вам понять кластер и увидеть все объекты, которые в нем есть.
Get new posts in your inbox
No spam. Unsubscribe anytime.