Получение доступа к панели мониторинга 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).

    Кроме того, может потребоваться FTP-клиент, который поддерживает протокол передачи файлов SSH и SSH для передачи сертификатов с узла уровня управления на компьютер управления Azure Stack Hub. Вы можете использовать FileZilla. Вам понадобится закрытый ключ, используемый при развертывании кластера Kubernetes.

Обзор шагов для включения панели мониторинга

  1. Экспортируйте сертификаты Kubernetes из узла уровня управления в кластере.
  2. Импорт сертификатов на компьютер для управления Azure Stack Hub.
  3. Открытие веб-панели мониторинга Kubernetes.

Экспорт сертификата с главного узла

URL-адрес панели мониторинга можно получить из узла плоскости управления в кластере.

  1. Получите общедоступный IP-адрес и имя пользователя для главного кластера на панели мониторинга Azure Stack Hub. Для этого сделайте следующее:

    • Войдите на портал Azure Stack Hub: https://portal.local.azurestack.external/.
    • Выберите Все службы>Все ресурсы. Найдите главный узел в группе кластерных ресурсов. Имя главного узла —k8s-master-<sequence-of-numbers>.
  2. Откройте узел уровня управления на портале. Скопируйте общедоступный IP-адрес. Щелкните Подключение, чтобы получить имя пользователя в поле входа с помощью локальной учетной записи виртуальной машины. Это имя пользователя вы указали при создании кластера. Используйте общедоступный IP-адрес вместо частного адреса, указанного в колонке подключения.

  3. Подключитесь к главному узлу, используя клиент SSH. Если вы работаете в Windows, можно использовать Putty для создания подключения. Вы будете использовать общедоступный IP-адрес для узла уровня управления, имени пользователя и добавьте закрытый ключ, используемый при создании кластера.

  4. После подключения терминала введите kubectl, чтобы открыть клиент командной строки Kubernetes.

  5. Выполните следующую команду:

    kubectl cluster-info 
    

    Найдите URL-адрес для панели мониторинга. Например: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. Извлеките самозаверяющий сертификат и преобразуйте его в формат 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 
    
  7. Получите список секретов в пространстве имен kube-system. Выполните следующую команду:

    kubectl -n kube-system get secrets
    

    Запишите значение kubernetes-dashboard-token-XXXXX<.>

  8. Получите и сохраните токен. Обновите значение kubernetes-dashboard-token-<####>, указав значение секрета из предыдущего шага.

    kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}' 
    

Импорт сертификата

  1. Откройте Filezilla и подключитесь к узлу уровня управления. Вам потребуется следующее:

    • общедоступный IP-адрес узла уровня управления
    • имя пользователя;
    • секрет;
    • протокол SFTP (протокол передачи файлов SSH) .
  2. Скопируйте /etc/kubernetes/certs/client.pfx и /etc/kubernetes/certs/ca.crt на компьютер управления Azure Stack Hub.

  3. Запишите расположения файлов. Обновите сценарий, указав эти расположения, а затем откройте 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

  1. Отключите блокировку всплывающих окон в веб-браузере.

  2. Укажите в браузере URL-адрес, записанный после выполнения команды kubectl cluster-info. Например: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. Выберите сертификат клиента.

  4. Введите токен.

  5. Повторно подключитесь к командной строке Bash на узле уровня управления и предоставьте разрешения kubernetes-dashboard. Выполните следующую команду:

    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 
    

    Сценарий предоставляет kubernetes-dashboard права администратора облака. Дополнительные сведения см. в статье Подключение веб-панели мониторинга Kubernetes в Службе Azure Kubernetes (AKS).

Теперь вы можете использовать панель мониторинга. Дополнительные сведения о панели мониторинга Kubernetes см. в этой статье.

Azure Stack Hub Kubernetes Dashboard

Устранение неполадок

Настраиваемые виртуальные сети

Если после развертывания Kubernetes в настраиваемой виртуальной сети у вас возникнут проблемы с подключением к панели мониторинга Kubernetes, убедитесь, что целевые подсети связаны с таблицей маршрутизации и ресурсами группы безопасности сети, созданными подсистемой AKS.

Убедитесь, что правила группы безопасности сети разрешают обмен данными между узлами уровня управления и IP-адресом pod панели мониторинга Kubernetes. Это можно проверить с помощью команды проверки связи с узлом уровня управления.

Дальнейшие действия

Развертывание Kubernetes в Azure Stack Hub

Добавление кластера Kubernetes в Marketplace (для оператора Azure Stack Hub)

Kubernetes в Azure