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

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

  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 см. в этой статье.

Панель мониторинга Kubernetes в Azure Stack Hub

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

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

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

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

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

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

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

Kubernetes в Azure