logo

Урок 4 из 6

Получение доступа к кластеру и его веб-интерфейсам

Получение доступа к кластеру

Когда установка Deckhouse завершилась, инсталлятор показал IP-адрес master-узла. Можно подключиться к нему по SSH:

ssh ubuntu@<MASTER_IP>

Далее узнаем IP-адрес балансировщика с помощью команды:

kubectl -n d8-ingress-nginx get svc
icon

Когда в кластере после его установки добавляются узлы и включаются модули, растёт нагрузка на API, поэтому запросы к kubectl могут выполняться медленнее.

Внесём этот адрес в параметр publicDomainTemplate в ModuleConfig global. В этом нам поможет команда:

kubectl edit mc global
icon

Для настройки доменных имён мы воспользовались сервисом sslip.io.

Deckhouse подхватит эти настройки и изменит URL всех своих веб-интерфейсов в соответствии с шаблоном. Наблюдать за процессом можно с помощью команды:

kubectl get ing -A
Веб-интерфейсы кластера

Upmeter

Чтобы оценить текущее состояние кластера, перейдём на страницу Upmeter (адрес в нашем примере — upmeter.51.250.76.28.sslip.io). Введём логин и пароль пользователя, который указан в ресурсах.

icon

Нужно будет вводить логин и пароль для доступа и ко всем остальным интерфейсам, поскольку пользователь, которого мы создали, — статический.

Upmeter убеждается в работоспособности компонентов и процессов в кластере. Поскольку мы только что развернули кластер, значения пока не достигают 100%.

Status

Далее обратимся к интерфейсу Status (адрес в нашем примере — status.51.250.76.28.sslip.io).

Некоторые компоненты имеют статус «Degraded», так как кластер был развёрнут недавно. Через некоторое время все они должны перейти в статус «Operational».

Grafana

Мониторинг в Grafana в нашем примере располагается по адресу grafana.51.250.76.28.sslip.io.

На главной странице Grafana находится сводная информация по кластеру:

  • версии Deckhouse, Kubernetes, containerd, Prometheus, Grafana;
  • канал обновления;
  • ОС на узлах;
  • поды в разных статусах;
  • количество узлов разных типов, контроллеров и сервисов;
  • список включённых модулей;
  • дополнительные веб-интерфейсы.

Встроенная документация

Из списка дополнительных веб-интерфейсов перейдём во встроенную документацию.

Эта документация соответствует версии Deckhouse в кластере.

Kubeconfig Generator

В этом интерфейсе можно создать kubeconfig для подключения к кластеру.

Воспользуемся вариантом Kubelogin.

icon

Чтобы создать kubeconfig, необходимо предварительно установить утилиту kubectl и плагин kubelogin.

Скопируем содержимое kubectl configuration в соответствующий файл:

После создания kubeconfig можно делать запросы в API с локального хоста. Например, можно выполнить команду ниже и получить срез по узлам кластера:

kubectl get nodes

Дашборды

Дашборды Grafana разложены по папкам в соответствии с задачами:

  • Main — приложения в кластере;
  • Nodes — узлы в кластере;
  • Ingress Nginx — Ingress-контроллер;
  • Applications — стандартные экспортёры;
  • Kubernetes Cluster — Kubernetes-кластер;
  • Security — модули безопасности.

Main / Namespaces

В дашборде по namespace’ам можно увидеть разрез как по всем namespace’ам сразу, так и по отдельным: количество подов, утилизация CPU и памяти, over-requests и under-requests, throttling, сеть.

Kubernetes Cluster / NGINX Ingress Controllers

В дашборде по Ingress-контроллерам представлены запросы к Ingress-контроллерам и состояние этих запросов.

Ingress NGINX / VHosts

Похожий график по Ingress-контроллерам — VHosts. Каждый веб-интерфейс Deckhouse — это отдельный VHost, и мы можем посмотреть разрез по ним.

Мы получили доступ к кластеру и оценили его состояние через веб-интерфейсы. На следующем уроке мы разберём, как удалить установленный в облаке кластер.