Доступ к панели мониторинга 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.
Общие сведения о шагах по включению панели мониторинга
- Экспортируйте сертификаты 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-адреса
. Выберите Подключить, чтобы получить имя пользователя в поле Login с помощью локальной учетной записи виртуальной машины. Это то же имя пользователя, которое вы задали при создании кластера. Используйте общедоступный 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
права администратора облака. Для получения дополнительной информации см. раздел Для кластеров с поддержкой RBAC.
Теперь вы можете использовать панель мониторинга. Для получения дополнительной информации о панели веб-интерфейса Kubernetes см. Панель мониторинга Kubernetes.
Устранение неполадок
Пользовательские виртуальные сети
При возникновении проблем с подключением к панели мониторинга Kubernetes после развертывания Kubernetes в пользовательской виртуальной сетиубедитесь, что целевые подсети связаны с таблицей маршрутов и ресурсами группы безопасности сети, созданными подсистемой AKS.
Убедитесь, что правила группы безопасности сети разрешают обмен данными между узлами плоскости управления и IP-адресом pod панели управления Kubernetes. Это разрешение можно проверить с помощью команды ping
с узла уровня управления.