13 KiB
Подключение к сервису Deckhouse
В данном разделе описаны способы подключения к кластеру Cloud Deckhouse Kubernetes. Рассматривается работа с кластером через веб-интерфейс Console, а также управление через командную строку с использованием утилиты kubectl после генерации kubeconfig.
Предварительные требования
После предоставления доступа к сервису Cloud Deckhouse Kubernetes пользователь получает возможность управлять кластером через веб-интерфейс Console.
Console - это встроенный веб-интерфейс платформы Deckhouse, предназначенный для упрощения взаимодействия с Kubernetes-кластером.
Он позволяет выполнять большинство операций, доступных в командной строке через kubectl, в визуальном режиме:
- мониторинг состояния кластера;
- управление узлами и модулями;
- настройку безопасности и сети.
Вход в Console
- Откройте веб-браузер и перейдите по адресу, предоставленному для доступа к Console.
::: info Примечание URL-адрес направляется пользователю на электронную почту при предоставлении доступа. :::
- На странице ввода учетных данных выполняется аутентификация при помощи логина и пароля;
- После успешной аутентификации откроется главная страница веб-интерфейса Console.
Основные разделы Console
В левой боковой панели веб-интерфейса Console расположены основные разделы для управления кластером:
| Раздел | Назначение |
|---|---|
| Deckhouse | Управление платформой Deckhouse: обзор, обновления, модули, глобальные настройки |
| Проекты | Управление проектами, шаблонами проектов и namespace (пространствами имён) |
| Узлы | Управление узлами кластера: группы узлов, конфигурации, классы машин, статические узлы |
| Конфигурация | Настройка Deschedulers и Priority Classes |
| Доступ | Управление аутентификацией, сессиями пользователей, правами доступа (RBAC) |
| Сеть | Настройка Egress-шлюзов, балансировки и управление сертификатами |
| Хранилище | Управление Persistent Volume, классами хранилищ и снимками томов |
| Безопасность | Настройка политик безопасности и операционных политик |
| Мониторинг | Просмотр данных, дашбордов, активных алертов, настройка уведомлений и экспорт метрик |
| Журналирование | Управление отправкой и сбором логов |
Генерация kubeconfig через Console
Помимо управления через веб-интерфейс, Console позволяет сгенерировать файл kubeconfig для доступа к кластеру через kubectl.
- На главной странице Console находится раздел «Инструменты» (Tools);
- Необходимо выбрать пункт «Генератор kubeconfig» (Generate kubeconfig);
- Нажимается кнопка генерации - система сгенерирует необходимые команды;
- Далее, нужно скопировать и выполнить в терминале команды, которые сгенерированы для пользовательской учётной записи.
::: info Примечание Сгенерированный kubeconfig уже содержит все необходимые параметры для подключения к API Kubernetes. :::
Примеры простейших команд kubectl
После настройки kubeconfig управление кластером осуществляется через командную строку с помощью утилиты kubectl. Ниже приведены основные команды для начала работы.
Проверка подключения к кластеру
kubectl cluster-info
Пример вывода:
Kubernetes control plane is running at https://127.0.0.1:6445
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Просмотр узлов кластера
kubectl get nodes
Пример вывода:
NAME STATUS ROLES AGE VERSION
cloud-frontend-0 Ready frontend 12d v1.32.10
cloud-frontend-1 Ready frontend 12d v1.32.10
cloud-master-0 Ready control-plane,master 12d v1.32.10
cloud-master-1 Ready control-plane,master 12d v1.32.10
cloud-master-2 Ready control-plane,master 12d v1.32.10
cloud-system-0 Ready system 12d v1.32.10
cloud-system-1 Ready system 12d v1.32.10
cloud-worker-a374349e-zznfp-nkqr2 Ready worker 12d v1.32.10
cloud-worker-a374349e-zznfp-rdpdz Ready worker 12d v1.32.10
Просмотр пространств имен
kubectl get namespaces
Пример вывода:
NAME STATUS AGE
d8-admission-policy-engine Active 12d
d8-cert-manager Active 12d
d8-chrony Active 12d
d8-cloud-instance-manager Active 12d
d8-cloud-provider-vcd Active 12d
d8-cni-cilium Active 12d
d8-console Active 12d
d8-dashboard Active 12d
d8-descheduler Active 12d
d8-ingress-nginx Active 12d
d8-local-path-provisioner Active 12d
d8-log-shipper Active 12d
d8-metallb Active 12d
d8-monitoring Active 12d
d8-multitenancy-manager Active 12d
d8-observability Active 12d
d8-operator-prometheus Active 12d
d8-pod-reloader Active 12d
d8-service-accounts Active 12d
d8-snapshot-controller Active 12d
d8-system Active 12d
d8-upmeter Active 12d
d8-user-authn Active 12d
default Active 12d
kube-node-lease Active 12d
kube-public Active 12d
kube-system Active 12d
Просмотр подов в конкретном namespace
kubectl get pods -n d8-console
Пример вывода:
NAME READY STATUS RESTARTS AGE
backend-546c7496f8-2nzx2 1/1 Running 0 3d7h
backend-546c7496f8-nxqf4 1/1 Running 0 3d7h
console-dex-authenticator-6b7d456445-7cg9p 2/2 Running 0 12d
console-dex-authenticator-6b7d456445-ljjr8 2/2 Running 0 12d
frontend-79cb59c94d-cf457 1/1 Running 0 3d7h
frontend-79cb59c94d-rvlzk 1/1 Running 0 3d7h
observability-gw-59c4fb6548-2lcqr 1/1 Running 0 3d7h
observability-gw-59c4fb6548-9n6nb 1/1 Running 0 3d7h
Просмотр логов пода
kubectl logs frontend-79cb59c94d-cf457 -n d8-console
Просмотр сервисов
kubectl get services -n d8-console
Пример вывода:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
backend ClusterIP 10.222.4.60 <none> 8999/TCP 12d
console-dex-authenticator ClusterIP 10.222.224.82 <none> 443/TCP 12d
frontend ClusterIP 10.222.226.106 <none> 80/TCP 12d
observability-gw ClusterIP None <none> 3000/TCP,8443/TCP 12d
Быстрое получение информации о ресурсах
kubectl get all -n d8-console
Пример вывода:
NAME READY STATUS RESTARTS AGE
pod/backend-546c7496f8-2nzx2 1/1 Running 0 3d7h
pod/backend-546c7496f8-nxqf4 1/1 Running 0 3d7h
pod/console-dex-authenticator-6b7d456445-7cg9p 2/2 Running 0 12d
pod/console-dex-authenticator-6b7d456445-ljjr8 2/2 Running 0 12d
pod/frontend-79cb59c94d-cf457 1/1 Running 0 3d7h
pod/frontend-79cb59c94d-rvlzk 1/1 Running 0 3d7h
pod/observability-gw-59c4fb6548-2lcqr 1/1 Running 0 3d7h
pod/observability-gw-59c4fb6548-9n6nb 1/1 Running 0 3d7h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/backend ClusterIP 10.222.4.60 <none> 8999/TCP 12d
service/console-dex-authenticator ClusterIP 10.222.224.82 <none> 443/TCP 12d
service/frontend ClusterIP 10.222.226.106 <none> 80/TCP 12d
service/observability-gw ClusterIP None <none> 3000/TCP,8443/TCP 12d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/backend 2/2 2 2 12d
deployment.apps/console-dex-authenticator 2/2 2 2 12d
deployment.apps/frontend 2/2 2 2 12d
deployment.apps/observability-gw 2/2 2 2 12d
NAME DESIRED CURRENT READY AGE
replicaset.apps/backend-546c7496f8 2 2 2 3d7h
replicaset.apps/backend-69d8c6bd68 0 0 0 12d
replicaset.apps/console-dex-authenticator-6b7d456445 2 2 2 12d
replicaset.apps/console-dex-authenticator-74c97bf4d6 0 0 0 12d
replicaset.apps/frontend-6b7ffb7bbd 0 0 0 9d
replicaset.apps/frontend-79cb59c94d 2 2 2 3d7h
replicaset.apps/frontend-79ccdfc56b 0 0 0 12d
replicaset.apps/observability-gw-574cdfdd87 0 0 0 12d
replicaset.apps/observability-gw-59c4fb6548 2 2 2 3d7h
Получение справки
Для получение справки по любой команде используется флаг --help:
kubectl get pods --help
kubectl describe pod --help
Просмотр подробной информации о конкретном ресурсе
kubectl describe pod <имя-пода> -n <namespace>

