Получение доступа к панели мониторинга Kubernetes в Azure Stack Hub
Примечание
Используйте элемент Kubernetes Azure Stack Marketplace для развертывания кластеров в качестве проверки концепции. Для поддерживаемых кластеров Kubernetes в Azure Stack используйтеобработчик AKS.
Служба Kubernetes включает в себя веб-панель мониторинга, которую можно использовать для выполнения базовых операций управления. Эта панель мониторинга позволяет просматривать базовое состояние работоспособности и метрики для приложений, создавать и развертывать службы, а также изменять существующие приложения. В этой статье показано, как настроить панель мониторинга Kubernetes в Azure Stack Hub.
Необходимые компоненты для настройки доступа к панели мониторинга Kubernetes
кластер Kubernetes в Azure Stack Hub
Вам нужно будет развернуть кластер Kubernetes в Azure Stack Hub. Дополнительные сведения см. в статье Развертывание Kubernetes в Azure Stack.
Клиент SSH.
Для безопасного подключения к узлу уровня управления в кластере потребуется клиент SSH. В Windows вы можете использовать Putty. Вам понадобится закрытый ключ, используемый при развертывании кластера Kubernetes.
Протокол FTP (PSCP).
Для передачи сертификатов с узла уровня управления на компьютер управления Azure Stack Hub также может потребоваться FTP-клиент, поддерживающий протоколЫ SSH и SSH. Вы можете использовать FileZilla. Вам понадобится закрытый ключ, используемый при развертывании кластера Kubernetes.
Обзор шагов для включения панели мониторинга
- Экспортируйте сертификаты Kubernetes из узла уровня управления в кластере.
- Импорт сертификатов на компьютер для управления Azure Stack Hub.
- Открытие веб-панели мониторинга Kubernetes.
Экспорт сертификата с главного узла
URL-адрес панели мониторинга можно получить из узла уровня управления в кластере.
Получите общедоступный IP-адрес и имя пользователя для главного кластера на панели мониторинга Azure Stack Hub. Для этого сделайте следующее:
- Войдите на портал Azure Stack Hub:
https://portal.local.azurestack.external/
. - Выберите Все службы>Все ресурсы. Найдите главный узел в группе кластерных ресурсов. Имя главного узла —
k8s-master-<sequence-of-numbers>
.
- Войдите на портал Azure Stack Hub:
Откройте узел уровня управления на портале. Скопируйте общедоступный IP-адрес. Нажмите кнопку Подключиться , чтобы получить имя пользователя в поле Вход с помощью локальной учетной записи виртуальной машины . Это имя пользователя вы указали при создании кластера. Используйте общедоступный IP-адрес вместо частного адреса, указанного в колонке подключения.
Подключитесь к главному узлу, используя клиент SSH. Если вы работаете в Windows, можно использовать Putty для создания подключения. Вы будете использовать общедоступный IP-адрес для узла уровня управления, имя пользователя и добавить закрытый ключ, который использовался при создании кластера.
После подключения терминала введите
kubectl
, чтобы открыть клиент командной строки Kubernetes.Выполните следующую команду:
kubectl cluster-info
Найдите URL-адрес для панели мониторинга. Пример:
https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
Извлеките самозаверяющий сертификат и преобразуйте его в формат PFX. Выполните следующую команду:
sudo su openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt
Получите список секретов в пространстве имен kube-system. Выполните следующую команду:
kubectl -n kube-system get secrets
Запишите значение kubernetes-dashboard-token-XXXXX<>.
Получите и сохраните токен. Обновите значение
kubernetes-dashboard-token-<####>
, указав значение секрета из предыдущего шага.kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}'
Импорт сертификата
Откройте Filezilla и подключитесь к узлу уровня управления. Вам потребуется следующее:
- общедоступный IP-адрес узла уровня управления
- имя пользователя;
- секрет;
- протокол SFTP (протокол передачи файлов SSH) .
Скопируйте
/etc/kubernetes/certs/client.pfx
и/etc/kubernetes/certs/ca.crt
на компьютер управления Azure Stack Hub.Запишите расположения файлов. Обновите сценарий, указав эти расположения, а затем откройте PowerShell в командной строке с повышенными привилегиями. Выполните обновленный сценарий.
Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password
Открытие панели мониторинга Kubernetes
Отключите блокировку всплывающих окон в веб-браузере.
Укажите в браузере URL-адрес, записанный после выполнения команды
kubectl cluster-info
. Пример: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxyВыберите сертификат клиента.
Введите токен.
Повторно подключитесь к командной строке bash на узле уровня управления и предоставьте разрешения для
kubernetes-dashboard
. Выполните следующую команду:kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Сценарий предоставляет
kubernetes-dashboard
права администратора облака. Дополнительные сведения см. в статье Подключение веб-панели мониторинга Kubernetes в Службе Azure Kubernetes (AKS).
Теперь вы можете использовать панель мониторинга. Дополнительные сведения о панели мониторинга Kubernetes см. в этой статье.
Устранение неполадок
Настраиваемые виртуальные сети
Если после развертывания Kubernetes в настраиваемой виртуальной сети у вас возникнут проблемы с подключением к панели мониторинга Kubernetes, убедитесь, что целевые подсети связаны с таблицей маршрутизации и ресурсами группы безопасности сети, созданными подсистемой AKS.
Убедитесь, что правила группы безопасности сети разрешают обмен данными между узлами уровня управления и IP-адресом pod панели мониторинга Kubernetes. Это можно проверить с помощью команды ping из узла уровня управления.
Дальнейшие действия
Развертывание Kubernetes в Azure Stack Hub
Добавление кластера Kubernetes в Marketplace (для оператора Azure Stack Hub)