Поделиться через


Доступ к панели мониторинга Kubernetes в Azure Stack Hub

Заметка

Используйте только элемент Azure Stack Marketplace Kubernetes для развертывания кластеров в качестве подтверждения концепции. Для кластеров Kubernetes, поддерживаемых в Azure Stack, используйте движок AKS.

Kubernetes включает веб-панель мониторинга, которую можно использовать для основных операций управления. Эта панель мониторинга позволяет просматривать базовое состояние и метрики работоспособности ваших приложений, создавать и развертывать сервисы, а также изменять существующие приложения. В этой статье показано, как настроить панель мониторинга Kubernetes в Azure Stack Hub.

Предварительные требования для панели мониторинга Kubernetes

  • Кластер Kubernetes Azure Stack Hub: кластер Kubernetes, развернутый в Azure Stack Hub. Дополнительные сведения см. в статье Deploy Kubernetes.
  • Клиент 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-адреса . Выберите Подключить, чтобы получить имя пользователя в поле Login с помощью локальной учетной записи виртуальной машины. Это то же имя пользователя, которое вы задали при создании кластера. Используйте общедоступный 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 права администратора облака. Для получения дополнительной информации см. раздел Для кластеров с поддержкой RBAC.

Теперь вы можете использовать панель мониторинга. Для получения дополнительной информации о панели веб-интерфейса Kubernetes см. Панель мониторинга Kubernetes.

панели мониторинга Azure Stack Hub Kubernetes

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

Пользовательские виртуальные сети

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

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

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