Глава 10. Все операции, ранее выполнявшиеся в Kubernetes, выполнялись с помощью инструмента командной строки Kubectl. Однако, чтобы обеспечить более удобный интерфейс, Kubernetes также разработал веб-интерфейс пользователя под названием Dashboard. Пользователи могут использовать Dashboard для развертывания контейнерных приложений, мониторинга их состояния, устранения неполадок и управления различными ресурсами в Kubernetes.

Развертывание информационной панели

  1. Загрузите YAML и запустите панель инструментов
# Download the YAML
[root@master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

# Modify the Service type of kubernetes-dashboard
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort  # added
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30009  # added
  selector:
    k8s-app: kubernetes-dashboard

# Deploy
[root@master ~]# kubectl create -f recommended.yaml

# Check the resources under kubernetes-dashboard in the namespace
[root@master ~]# kubectl get pod,svc -n kubernetes-dashboard
NAME                                            READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-c79c65bb7-zwfvw   1/1     Running   0          111s
pod/kubernetes-dashboard-56484d4c5-z95z5        1/1     Running   0          111s

NAME                               TYPE       CLUSTER-IP      EXTERNAL-IP  PORT(S)         AGE
service/dashboard-metrics-scraper  ClusterIP  10.96.89.218    <none>       8000/TCP        111s
service/kubernetes-dashboard       NodePort   10.104.178.171  <none>       443:30009/TCP   111s

2. Создайте учетную запись доступа и получите токен

# Create the service account
[root@master-1 ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

# Grant permissions to the service account
[root@master-1 ~]# kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

# Get the token for the service account
[root@master ~]# kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin
dashboard-admin-token-xbqhh        kubernetes.io/service-account-token   3      2m35s

[root@master ~]# kubectl describe secrets dashboard-admin-token-xbqhh -n kubernetes-dashboard
Name:         dashboard-admin-token-xbqhh
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 95d84d80-be7a-4d10-a2e0-68f90222d039

Type:  kubernetes.io/service-account-token

Data
====
namespace:  20 bytes
token:       eyJhbGciOiJSUzI1NiIsImtpZCI6ImJrYkF4bW5XcDhWcmNGUGJtek5NODFuSXl1aWptMmU2M3o4LTY5a2FKS2cifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4teGJxaGgiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTVkODRkODAtYmU3YS00ZDEwLWEyZTAtNjhmOTAyMjJkMDM5Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.NAl7e8ZfWWdDoPxkqzJzTB46sK9E8iuJYnUI9vnBaY3Jts7T1g1msjsBnbxzQSYgAG--cV0WYxjndzJY_UWCwaGPrQrt_GunxmOK9AUnzURqm55GR2RXIZtjsWVP2EBatsDgHRmuUbQvTFOvdJB4x3nXcYLN2opAaMqg3rnU2rr-A8zCrIuX_eca12wIp_QiuP3SF-tzpdLpsyRfegTJZl6YnSGyaVkC9id-cxZRb307qdCfXPfCHR_2rt5FVfxARgg_C0e3eFHaaYQO7CitxsnIoIXpOFNAR8aUrmopJyODQIPqBWUehb7FhlU1DCduHnIIXVC_UICZ-MKYewBDLw
ca.crt:     1025 bytes

3. Доступ к пользовательскому интерфейсу панели инструментов Kubernetes через браузер

Введите вышеуказанный токен на странице входа

Появление следующей страницы указывает на успех.

Использование информационной панели.

В этой главе мы продемонстрируем использование Dashboard на примере развертывания.

Просмотреть

Выберите указанное пространство имен dev, затем нажмите Deployments, чтобы просмотреть все развертывания в пространстве имен dev.

Масштабирование

Нажмите Scale на Deployment, затем укажите Target Replica Count и нажмите Confirm.

Изменить

Нажмите Edit на Deployment, затем измените YAML file и нажмите Confirm.

Просмотр модулей

Нажмите Pods, чтобы просмотреть список модулей.

Управление модулем

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

Dashboard предоставляет большинство функций kubectl, и мы не будем здесь демонстрировать каждую из них.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .