Когда установка Deckhouse завершилась, инсталлятор показал IP-адрес master-узла. Можно подключиться к нему по SSH:
ssh ubuntu@<MASTER_IP>
Далее узнаем IP-адрес балансировщика с помощью команды:
kubectl -n d8-ingress-nginx get svc
Когда в кластере после его установки добавляются узлы и включаются модули, растёт нагрузка на API, поэтому запросы к kubectl могут выполняться медленнее.
Внесём этот адрес в параметр publicDomainTemplate
в ModuleConfig global
. В этом нам поможет команда:
kubectl edit mc global
Для настройки доменных имён мы воспользовались сервисом sslip.io.
Deckhouse подхватит эти настройки и изменит URL всех своих веб-интерфейсов в соответствии с шаблоном. Наблюдать за процессом можно с помощью команды:
kubectl get ing -A
Upmeter
Чтобы оценить текущее состояние кластера, перейдём на страницу Upmeter (адрес в нашем примере — upmeter.51.250.76.28.sslip.io
). Введём логин и пароль пользователя, который указан в ресурсах.
Нужно будет вводить логин и пароль для доступа и ко всем остальным интерфейсам, поскольку пользователь, которого мы создали, — статический.
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.
Чтобы создать 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, и мы можем посмотреть разрез по ним.
Мы получили доступ к кластеру и оценили его состояние через веб-интерфейсы. На следующем уроке мы разберём, как удалить установленный в облаке кластер.