Развёртывание Grafana на Kubernetes
На этой странице вы найдёте инструкции по установке и запуску Grafana на Kubernetes с использованием манифестов Kubernetes для настройки. Если вы предпочитаете Helm, обратитесь к Helm-чартам сообщества Grafana.
Посмотрите это видео, чтобы узнать больше об установке Grafana на Kubernetes:
Перед началом
Чтобы следовать этому руководству:
-
Вам нужна последняя версия Kubernetes, работающая локально или удалённо в публичном либо приватном облаке.
-
Если вы планируете использовать её в локальной среде, вы можете использовать различные варианты Kubernetes, такие как minikube, kind, Docker Desktop и другие.
-
Если вы планируете использовать Kubernetes в продакшен-среде, рекомендуется использовать управляемые облачные сервисы, такие как Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) или Azure Kubernetes Service (AKS).
Системные требования
В этом разделе приведены минимальные требования к оборудованию и программному обеспечению.
Минимальные требования к оборудованию
- Дисковое пространство: 1 ГБ
- Память: 750 МиБ (примерно 750 МБ)
- ЦП: 250m (примерно 0,25 ядра)
Поддерживаемые базы данных
Список поддерживаемых баз данных см. в разделе поддерживаемые базы данных.
Поддерживаемые веб-браузеры
Список поддерживаемых веб-браузеров см. в разделе поддерживаемые веб-браузеры.
Note
Включите порт
3000в вашей сетевой среде, так как это порт Grafana по умолчанию.
Развёртывание Grafana OSS на Kubernetes
В этом разделе объясняется, как установить Grafana OSS с помощью Kubernetes.
Note
Если вы хотите установить Grafana Enterprise на Kubernetes, обратитесь к разделу Развёртывание Grafana Enterprise на Kubernetes.
Если вы развёртываете приложение в Kubernetes, оно будет использовать пространство имён по умолчанию, в котором могут уже работать другие приложения. Это может привести к конфликтам и другим проблемам.
Рекомендуется создать новое пространство имён в Kubernetes, чтобы лучше управлять, организовывать, распределять и администрировать ресурсы кластера. Дополнительную информацию о пространствах имён см. в официальной документации Kubernetes.
-
Чтобы создать пространство имён, выполните следующую команду:
kubectl create namespace my-grafanaВ этом примере пространство имён —
my-grafana -
Чтобы проверить и просмотреть только что созданное пространство имён, выполните следующую команду:
kubectl get namespace my-grafanaВывод команды предоставляет больше информации о только что созданном пространстве имён.
-
Создайте файл манифеста YAML с именем
grafana.yaml. Этот файл будет содержать необходимый код для развёртывания.touch grafana.yamlНа следующем шаге вы определите следующие три объекта в файле YAML.
-
Скопируйте и вставьте следующее содержимое и сохраните его в файле
grafana.yaml.--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: securityContext: fsGroup: 472 supplementalGroups: - 0 containers: - name: grafana image: grafana/grafana:latest imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http-grafana protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /robots.txt port: 3000 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 2 livenessProbe: failureThreshold: 3 initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 3000 timeoutSeconds: 1 resources: requests: cpu: 250m memory: 750Mi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc --- apiVersion: v1 kind: Service metadata: name: grafana spec: ports: - port: 3000 protocol: TCP targetPort: http-grafana selector: app: grafana sessionAffinity: None type: LoadBalancer -
Выполните следующую команду, чтобы отправить манифест на сервер API Kubernetes:
kubectl apply -f grafana.yaml --namespace=my-grafanaЭта команда создаёт объекты PVC, Deployment и Service.
-
Выполните следующие шаги, чтобы проверить статус развёртывания каждого объекта.
a. Для PVC выполните следующую команду:
kubectl get pvc --namespace=my-grafana -o wideb. Для Deployment выполните следующую команду:
kubectl get deployments --namespace=my-grafana -o widec. Для Service выполните следующую команду:
kubectl get svc --namespace=my-grafana -o wide
Доступ к Grafana у управляемых провайдеров K8s
В этой задаче вы получаете доступ к Grafana, развёрнутой у управляемого провайдера Kubernetes, с помощью веб-браузера. Доступ к Grafana через веб-браузер прост, если она развёрнута у управляемого провайдера Kubernetes, поскольку используется LoadBalancer облачного провайдера, для которого автоматически создаются маршруты внешнего балансировщика нагрузки.
-
Выполните следующую команду, чтобы получить информацию о развёртывании:
kubectl get all --namespace=my-grafanaВозвращённый вывод должен выглядеть примерно так:
NAME READY STATUS RESTARTS AGE pod/grafana-69946c9bd6-kwjb6 1/1 Running 0 7m27s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/grafana LoadBalancer 10.5.243.226 1.120.130.330 3000:31171/TCP 7m27s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/grafana 1/1 1 1 7m29s NAME DESIRED CURRENT READY AGE replicaset.apps/grafana-69946c9bd6 1 1 1 7m30s -
Определите значение EXTERNAL-IP в выводе и введите его в ваш браузер.
Появится страница входа Grafana.
-
Чтобы войти, введите
adminкак для имени пользователя, так и для пароля. -
Если вы не видите EXTERNAL-IP, выполните следующие шаги:
a. Выполните следующую команду, чтобы выполнить переадресацию портов службы Grafana на порт
3000.kubectl port-forward service/grafana 3000:3000 --namespace=my-grafanaДополнительную информацию о переадресации портов см. в разделе Использование переадресации портов для доступа к приложениям в кластере.
b. Перейдите на
localhost:3000в вашем браузере.Появится страница входа Grafana.
c. Чтобы войти, введите
adminкак для имени пользователя, так и для пароля.
Доступ к Grafana с помощью minikube
Есть несколько способов получить доступ к интерфейсу Grafana в веб-браузере при использовании minikube. Дополнительную информацию о minikube см. в разделе Как получить доступ к приложениям, работающим в minikube.
В этом разделе перечислены два наиболее распространённых варианта доступа к приложению, работающему в minikube.
Вариант 1: открыть службу
Этот вариант использует type: LoadBalancer в манифесте службы grafana.yaml, что делает службу доступной через команду minikube service. Дополнительную информацию см. в разделе Использование команды minikube Service.
-
Выполните следующую команду, чтобы получить IP службы Grafana:
minikube service grafana --namespace=my-grafanaВывод возвращает URL Kubernetes для службы в вашем локальном кластере.
|------------|---------|-------------|------------------------------| | NAMESPACE | NAME | TARGET PORT | URL | |------------|---------|-------------|------------------------------| | my-grafana | grafana | 3000 | http://192.168.122.144:32182 | |------------|---------|-------------|------------------------------| Opening service my-grafana/grafana in default browser... http://192.168.122.144:32182 -
Выполните команду
curl, чтобы проверить, должно ли данное подключение работать в браузере при идеальных обстоятельствах.curl 192.168.122.144:32182Следующий пример вывода показывает, что конечная точка была найдена:
<a href="/login">Found</a>. -
Получите доступ к интерфейсу Grafana в браузере, используя предоставленный IP:Port из команды выше. Например
192.168.122.144:32182Появится страница входа Grafana.
-
Чтобы войти в Grafana, введите
adminкак для имени пользователя, так и для пароля.
Вариант 2: использование переадресации портов
Если вариант 1 не работает в вашей среде minikube (это в основном зависит от сети), то в качестве альтернативы вы можете использовать вариант переадресации портов для службы Grafana на порт 3000.
Дополнительную информацию о переадресации портов см. в разделе Использование переадресации портов для доступа к приложениям в кластере.
-
Чтобы найти IP-адрес minikube, выполните следующую команду:
minikube ipВывод содержит IP-адрес, который вы используете для доступа к Pod Grafana во время переадресации портов.
Pod — это наименьшая единица развёртывания в Kubernetes и основной строительный блок для запуска приложений в кластере Kubernetes. Дополнительную информацию о Pod см. в разделе Pods.
-
Чтобы получить информацию о Pod Grafana, выполните следующую команду:
kubectl get pods --namespace=my-grafanaВывод должен выглядеть примерно так:
NAME READY STATUS RESTARTS AGE grafana-58445b6986-dxrrw 1/1 Running 0 9m54sВывод показывает имя POD Grafana в столбце
NAME, которое вы используете для переадресации портов. -
Выполните следующую команду, чтобы включить переадресацию портов на POD:
kubectl port-forward pod/grafana-58445b6986-dxrrw --namespace=my-grafana --address 0.0.0.0 3000:3000 -
Чтобы получить доступ к интерфейсу Grafana в веб-браузере, введите IP minikube вместе с перенаправленным портом. Например
192.168.122.144:3000Появится страница входа Grafana.
-
Чтобы войти в Grafana, введите
adminкак для имени пользователя, так и для пароля.
Обновление существующего развёртывания с использованием стратегии Rolling-обновления
Rolling-обновления позволяют обновлять развёртывание без простоя, инкрементально заменяя экземпляры Pod новыми. Новые Pod будут запланированы на узлы с доступными ресурсами. Дополнительную информацию о Rolling-обновлениях см. в разделе Выполнение Rolling-обновления.
Следующие шаги используют команду kubectl annotate, чтобы добавить метаданные и отслеживать развёртывание. Дополнительную информацию о kubectl annotate см. в документации kubectl annotate.
Note
Вместо использования флага
annotateвы всё ещё можете использовать флаг--record. Однако он устарел и будет удалён в будущей версии Kubernetes. См.: https://github.com/kubernetes/kubernetes/issues/40422
-
Чтобы просмотреть текущий статус развёртывания (rollout), выполните следующую команду:
kubectl rollout history deployment/grafana --namespace=my-grafanaВывод будет выглядеть примерно так:
deployment.apps/grafana REVISION CHANGE-CAUSE 1 NONEВывод показывает, что ничего не было обновлено или изменено после применения файла
grafana.yaml. -
Чтобы добавить метаданные для отслеживания первоначального развёртывания, выполните следующую команду:
kubectl annotate deployment/grafana kubernetes.io/change-cause='deployed the default base yaml file' --namespace=my-grafana -
Чтобы просмотреть историю развёртывания и проверить изменения, выполните следующую команду:
kubectl rollout history deployment/grafana --namespace=my-grafanaВы должны увидеть обновлённую информацию, которую вы добавили в
CHANGE-CAUSEранее.
Изменение версии образа Grafana
-
Чтобы изменить развёрнутую версию Grafana, выполните следующую команду
kubectl edit:kubectl edit deployment grafana --namespace=my-grafana -
В редакторе измените образ контейнера в разделе
kind: Deployment.Например:
-
С
yaml image: grafana/grafana:12.1.0
-
На
yaml image: grafana/grafana-dev:12.2.0-17161637292
-
-
Сохраните изменения.
Как только вы сохраните файл, вы получите сообщение, похожее на следующее:
deployment.apps/grafana editedЭто означает, что изменения были применены.
-
Чтобы проверить, что развёртывание в кластере успешно, выполните следующую команду:
kubectl rollout status deployment grafana --namespace=my-grafanaУспешное развёртывание означает, что кластер Grafana Dev теперь доступен.
-
Чтобы проверить статусы всех развёрнутых объектов, выполните следующую команду и включите флаг
-o wide, чтобы получить более подробный вывод:kubectl get all --namespace=my-grafana -o wideВы должны увидеть только что развёрнутый образ
grafana-dev. -
Чтобы проверить это, получите доступ к интерфейсу Grafana в браузере, используя предоставленный IP:Port из команды выше.
Появится страница входа Grafana.
-
Чтобы войти в Grafana, введите
adminкак для имени пользователя, так и для пароля. -
В правом верхнем углу нажмите значок справки.
Появится информация о версии.
-
Добавьте метаданные
change causeдля отслеживания, используя команды:kubectl annotate deployment grafana --namespace=my-grafana kubernetes.io/change-cause='using grafana-dev:12.2.0-17161637292 for testing' -
Чтобы проверить, выполните команду
kubectl rollout history:kubectl rollout history deployment grafana --namespace=my-grafanaВы увидите вывод, похожий на этот:
deployment.apps/grafana REVISION CHANGE-CAUSE 1 deploying the default yaml 2 using grafana-dev:12.2.0-17161637292 for testing
Это означает, что REVISION#2 — текущая версия.
Note
Последняя строка вывода команды
kubectl rollout history deployment— это та, которая в настоящее время активна и работает в вашей среде Kubernetes.
Откат развёртывания
Когда развёртывание Grafana становится нестабильным из-за циклических сбоев, ошибок и так далее, вы можете откатить развёртывание к более ранней версии (a REVISION).
По умолчанию история развёртываний Kubernetes сохраняется в системе, чтобы вы могли откатиться в любой момент. Дополнительную информацию см. в разделе Откат к предыдущей ревизии.
-
Чтобы перечислить все возможные значения
REVISION, выполните следующую команду:kubectl rollout history deployment grafana --namespace=my-grafana -
Чтобы откатиться к предыдущей версии, выполните команду
kubectl rollout undoи укажите номер ревизии.Пример: чтобы откатиться к предыдущей версии, укажите номер
REVISION, который появляется после выполнения командыkubectl rollout history deployment, в параметре--to-revision.kubectl rollout undo deployment grafana --to-revision=1 --namespace=my-grafana -
Чтобы проверить, что откат в кластере успешен, выполните следующую команду:
kubectl rollout status deployment grafana --namespace=my-grafana -
Получите доступ к интерфейсу Grafana в браузере, используя предоставленный IP:Port из команды выше.
Появится страница входа Grafana.
-
Чтобы войти в Grafana, введите
adminкак для имени пользователя, так и для пароля. -
В правом верхнем углу нажмите значок справки, чтобы отобразить номер версии.
-
Чтобы увидеть новую историю развёртывания, выполните следующую команду:
kubectl rollout history deployment grafana --namespace=my-grafana
Если вам нужно вернуться к любой другой REVISION, просто повторите шаги выше и используйте правильный номер ревизии в параметре --to-revision.
Провижининг ресурсов Grafana с помощью файлов конфигурации
Провижининг может добавлять, обновлять или удалять ресурсы, указанные в ваших файлах конфигурации, при запуске Grafana. Подробную информацию см. в разделе Провижининг Grafana.
В этом разделе описаны общие инструкции по провижинингу ресурсов Grafana в Kubernetes с использованием постоянного тома для предоставления файлов конфигурации pod Grafana.
-
Добавьте новый
PersistentVolumeClaimв файлgrafana.yaml.--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-provisioning-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Mi -
В файле
grafana.yamlсмонтируйте постоянный том в/etc/grafana/provisioningследующим образом.... volumeMounts: - mountPath: /etc/grafana/provisioning name: grafana-provisioning-pv ... volumes: - name: grafana-provisioning-pv persistentVolumeClaim: claimName: grafana-provisioning-pvc ... -
Найдите или создайте ресурсы провижининга, которые вы хотите добавить. Например, создайте файл
alerting.yaml, добавляющий время отключения (mute timing) (ресурс алертинга).apiVersion: 1 muteTimes: - orgId: 1 name: MuteWeekends time_intervals: - weekdays: [saturday, sunday] -
По умолчанию файлы конфигурации для ресурсов алертинга должны быть помещены в каталог
provisioning/alerting.Сохраните файл
alerting.yamlв каталоге с именемalerting, так как далее мы предоставим этот каталогalertingв папку/etc/grafana/provisioningpod Grafana. -
Сначала проверьте содержимое каталога провижининга в работающем pod Grafana.
kubectl exec -n my-grafana <pod_name> -- ls /etc/grafana/provisioning/kubectl exec -n my-grafana <pod_name> -- ls /etc/grafana/provisioning/alertingПоскольку папка
alertingещё недоступна, последняя команда должна вывести ошибкуNo such file or directory. -
Скопируйте локальный каталог
alertingв/etc/grafana/provisioning/в pod Grafana.kubectl cp alerting my-grafana/<pod_name>:/etc/grafana/provisioning/Вы можете следовать тому же процессу, чтобы провижинить дополнительные ресурсы Grafana, предоставив следующие папки:
provisioning/dashboardsprovisioning/datasourcesprovisioning/plugins
-
Убедитесь, что каталог
alertingв работающем pod Grafana включает файлalerting.yaml.kubectl exec -n my-grafana <pod_name> -- ls /etc/grafana/provisioning/alerting -
Перезапустите pod Grafana, чтобы провижинить ресурсы.
kubectl rollout restart -n my-grafana deployment --selector=app=grafanaОбратите внимание, что
rollout restartубивает предыдущий pod и запускает новый pod. Когда старый pod завершается, вам может потребоваться включить переадресацию портов в новом pod. Инструкции см. в предыдущих разделах о переадресации портов в этом руководстве. -
Убедитесь, что ресурсы Grafana правильно провижинены в экземпляре Grafana.
Устранение неполадок
Этот раздел включает советы по устранению неполадок, которые могут оказаться полезными при развёртывании Grafana на Kubernetes.
Сбор журналов
Важно просматривать журналы сервера Grafana при устранении любых проблем.
-
Чтобы проверить журналы Grafana, выполните следующую команду:
# dump Pod logs for a Deployment (single-container case) kubectl logs --namespace=my-grafana deploy/grafana -
Если в развёртывании работает несколько контейнеров, выполните следующую команду, чтобы получить журналы только для развёртывания Grafana:
# dump Pod logs for a Deployment (multi-container case) kubectl logs --namespace=my-grafana deploy/grafana -c grafana
Дополнительную информацию о доступе к журналам приложений Kubernetes см. в разделах Pods и Deployments.
Повышение уровня детализации журналов до режима debug
По умолчанию уровень журнала Grafana установлен в info, но вы можете повысить его до режима debug, чтобы получить информацию, необходимую для диагностики и устранения проблемы. Дополнительную информацию об уровнях журнала Grafana см. в разделе Настройка журналов.
Следующий пример использует ConfigMap Kubernetes, который является объектом API, хранящим неконфиденциальные данные в парах ключ-значение. Дополнительную информацию см. в разделе Концепция ConfigMap Kubernetes.
-
Создайте пустой файл с именем
grafana.iniи добавьте следующее:[log] ; # Either "debug", "info", "warn", "error", "critical", default is "info" ; # we change from info to debug level level = debugЭтот пример добавляет часть раздела log из файла конфигурации. Вы можете обратиться к документации Настройка Grafana для просмотра всех настроек конфигурации по умолчанию.
-
Чтобы добавить файл конфигурации в кластер Kubernetes через объект ConfigMap, выполните следующую команду:
kubectl create configmap ge-config --from-file=/path/to/file/grafana.ini --namespace=my-grafana -
Чтобы проверить создание объекта ConfigMap, выполните следующую команду:
kubectl get configmap --namespace=my-grafana -
Откройте файл
grafana.yamlи в разделе Deployment укажите путь монтирования к пользовательской конфигурации (/etc/grafana) и сослитесь на только что созданный ConfigMap для неё.--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana # the rest of the code remains the same. ... .... ... requests: cpu: 250m memory: 750Mi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv # This is to mount the volume for the custom configuration - mountPath: /etc/grafana name: ge-config volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc # This is to provide the reference to the ConfigMap for the volume - name: ge-config configMap: name: ge-config -
Разверните манифест, используя следующую команду kubectl apply:
kubectl apply -f grafana.yaml --namespace=my-grafana -
Чтобы проверить статус, выполните следующие команды:
# first check the rollout status kubectl rollout status deployment grafana --namespace=my-grafana # then check the deployment and configMap information kubectl get all --namespace=my-grafana -
Чтобы проверить это, получите доступ к интерфейсу Grafana в браузере, используя предоставленный IP:Port
Появится страница входа Grafana.
-
Чтобы войти в Grafana, введите
adminкак для имени пользователя, так и для пароля. -
Перейдите в Server Admin > Settings и затем найдите log.
Вы должны увидеть уровень в режиме debug.
Использование команды –dry-run
Вы можете использовать команду Kubernetes --dry-run для отправки запросов на изменяющие конечные точки и определения, был бы запрос успешным.
Выполнение dry run может быть полезно для перехвата ошибок или непредвиденных последствий до их возникновения. Дополнительную информацию см. в разделе Kubernetes Dry-run.
Пример:
Следующий пример показывает, как выполнить dry run, когда вы вносите изменения в grafana.yaml, такие как использование новой версии образа или добавление новых меток, и вы хотите определить, есть ли синтаксические ошибки или конфликты.
Чтобы выполнить dry run, выполните следующую команду:
kubectl apply -f grafana.yaml --dry-run=server --namespace=grafana
Если ошибок нет, то вывод будет выглядеть примерно так:
persistentvolumeclaim/grafana-pvc unchanged (server dry run)
deployment.apps/grafana unchanged (server dry run)
service/grafana unchanged (server dry run)
Если есть ошибки или предупреждения, вы увидите их в терминале.
Удаление Grafana
Если вы хотите удалить любые из объектов развёртывания Grafana, используйте команду kubectl delete command.
-
Если вы хотите удалить полное развёртывание Grafana, выполните следующую команду:
kubectl delete -f grafana.yaml --namespace=my-grafanaЭта команда удаляет объекты deployment, persistentvolumeclaim и service.
-
Чтобы удалить ConfigMap, выполните следующую команду:
kubectl delete configmap ge-config --namespace=my-grafana
Развёртывание Grafana Enterprise на Kubernetes
Процесс развёртывания Grafana Enterprise почти идентичен предыдущему процессу, за исключением дополнительных шагов, необходимых для добавления вашего файла лицензии.
Получение лицензии Grafana Enterprise
Чтобы запустить Grafana Enterprise, вам нужна действительная лицензия.
Чтобы получить лицензию, свяжитесь с представителем Grafana Labs.
Эта тема предполагает, что у вас есть действительная лицензия в файле license.jwt.
Свяжите вашу лицензию с URL, который вы сможете использовать позже в этой теме.
Создание секрета лицензии
Создайте секрет Kubernetes из вашего файла лицензии, используя следующую команду:
kubectl create secret generic ge-license --from-file=/path/to/your/license.jwt
Создание конфигурации Grafana Enterprise
-
Создайте файл конфигурации Grafana с именем
grafana.ini -
Вставьте следующее содержимое YAML в созданный вами файл:
[enterprise] license_path = /etc/grafana/license/license.jwt [server] root_url =/your/license/root/url -
Обновите поле
root_urlна url, связанный с предоставленной вам лицензией.
Создание Configmap для конфигурации Grafana Enterprise
Создайте Configmap Kubernetes из вашего файла grafana.ini с помощью следующей команды:
kubectl create configmap ge-config --from-file=/path/to/your/grafana.ini
Создание манифеста Kubernetes для Grafana Enterprise
-
Создайте файл
grafana.yamlи скопируйте-вставьте в него следующее содержимое.Следующий YAML идентичен тому, что для установки Grafana, за исключением дополнительных ссылок на Configmap, содержащий ваш файл конфигурации Grafana, и секрет, содержащий вашу лицензию.
--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: securityContext: fsGroup: 472 supplementalGroups: - 0 containers: - image: grafana/grafana-enterprise:latest imagePullPolicy: IfNotPresent name: grafana ports: - containerPort: 3000 name: http-grafana protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /robots.txt port: 3000 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 2 resources: limits: memory: 4Gi requests: cpu: 100m memory: 2Gi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv - mountPath: /etc/grafana name: ge-config - mountPath: /etc/grafana/license name: ge-license volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc - name: ge-config configMap: name: ge-config - name: ge-license secret: secretName: ge-license --- apiVersion: v1 kind: Service metadata: name: grafana spec: ports: - port: 3000 protocol: TCP targetPort: http-grafana selector: app: grafana sessionAffinity: None type: LoadBalancerCaution
Если вы используете
LoadBalancerв Service и в зависимости от вашей облачной платформы и сетевой конфигурации, это может открыть ваш экземпляр Grafana в Интернет. Чтобы устранить этот риск, используйтеClusterIP, чтобы ограничить доступ изнутри кластера, в котором развёрнута Grafana. -
Чтобы отправить манифест на сервер API Kubernetes, выполните следующую команду:
kubectl apply -f grafana.yaml -
Чтобы проверить, что манифест был отправлен, выполните следующую команду:
kubectl port-forward service/grafana 3000:3000 -
Перейдите на
localhost:3000в вашем браузере.Вы должны увидеть страницу входа Grafana.
-
Используйте
adminкак для имени пользователя, так и для пароля, чтобы войти. -
Чтобы убедиться, что вы работаете с корпоративной лицензией, прокрутите до нижней части страницы, где вы должны увидеть
Enterprise (Licensed).