Grafana 仪表板不适用于 Ingress
Grafana dashboard not working with Ingress
我已经安装在 kube-prometheus-stack 下面,在尝试使用它自己的 Ingress URL 访问 Grafana 仪表板时出现错误。我相信我在这里遗漏了一些愚蠢的东西,但找不到任何线索。我已经看过 这里和其他地方。
图表:kube-prometheus-stack-9.4.5
应用程序版本:0.38.1
当我导航至 https://myorg.grafanatest.com URL, I get redirected to https://myorg.grafanatest.com/login 并显示以下消息时。
对 grafana/values.yaml 所做的更改:
grafana.ini:
server:
# The full public facing url you use in browser, used for redirects and emails
root_url: https://myorg.grafanatest.com
进行上述更改后,Helm 命令用于安装 Prometheus-Grafana operator。
helm install pg kube-prometheus-stack/ -n monitoring
我在 Grafana pod 内的 grafana.ini 文件中看到以下设置。
[analytics]
check_for_updates = true
[grafana_net]
url = https://grafana.net
[log]
mode = console
[paths]
data = /var/lib/grafana/data
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[server]
root_url = https://myorg.grafanatest.com/
您需要从父图表进行编辑values.yaml
- 从 kube-prometheus-stack 图表中获取默认值 values.yaml,保存到文件
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update
helm show values prometheus-community/kube-prometheus-stack > values.yaml
在 values.yaml 文件中,像这样编辑:
## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
##
#### This below line is in 509 line
grafana:
enabled: true
namespaceOverride: ""
## Deploy default dashboards.
##
defaultDashboardsEnabled: true
adminPassword: prom-operator
ingress:
## If true, Grafana Ingress will be created
##
enabled: true
## Annotations for Grafana Ingress
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## Labels to be added to the Ingress
##
labels: {}
## Hostnames.
## Must be provided if Ingress is enable.
##
# hosts:
# - grafana.domain.com
hosts:
- myorg.grafanatest.com
## Path for grafana ingress
path: /
grafana.ingress.enabled
到 true
grafana.ingress.hosts
添加 - myorg.grafanatest.com
- 应用
helm -n monitoring install -f ./values.yaml kube-prometheus prometheus-community/kube-prometheus-stack
希望能帮到你
在此处发布解决方案,因为它正在运行。按照上面提到的 gumelaragum 的步骤创建 values.yaml 并更新其中的以下值,并将 values.yaml 传递给 helm install 步骤。不知道为什么它在不启用 serve_from_sub_path 的情况下无法工作,但没关系,因为它现在可以工作了。请注意,我没有启用 Ingress 部分,因为我已经在安装过程之外创建了 Ingress 路由。
helm show values prometheus-com/kube-prometheus-stack > custom-values.yaml
然后通过更改 custom-values.yaml 中的以下值进行安装。根据需要更改命名空间。
helm -n monitoring install -f ./custom-values.yaml pg prometheus-com/kube-prometheus-stack
grafana:
enabled: true
namespaceOverride: ""
# set pspUseAppArmor to false to fix Grafana pod Init errors
rbac:
pspUseAppArmor: false
grafana.ini:
server:
domain: mysb.grafanasite.com
#root_url: "%(protocol)s://%(domain)s/"
root_url: https://mysb.grafanasite.com/grafana/
serve_from_sub_path: true
## Deploy default dashboards.
##
defaultDashboardsEnabled: true
adminPassword: prom-operator
ingress:
## If true, Grafana Ingress will be created
##
enabled: false
## Annotations for Grafana Ingress
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## Labels to be added to the Ingress
##
labels: {}
## Hostnames.
## Must be provided if Ingress is enable.
##
# hosts:
# - grafana.domain.com
hosts:
- mysb.grafanasite.com
## Path for grafana ingress
path: /grafana/
我看到相同的值反映在 Grafana 容器安装路径 (/etc/grafana/grafana.ini) 内的 grafana.ini 文件中。
[analytics]
check_for_updates = true
[grafana_net]
url = https://grafana.net
[log]
mode = console
[paths]
data = /var/lib/grafana/data
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[server]
domain = mysb.grafanasite.com
root_url = https://mysb.grafanasite.com/grafana/
serve_from_sub_path = true
像这样更新您的 grafana.ini 配置:
grafana.ini 大部分可以在 grafana config map
下找到
kubectl get cm
kubectl edit cm map_name
**data:
grafana.ini: |
[server]
serve_from_sub_path = true
domain = ingress-gateway.yourdomain.com
root_url = http://ingress-gateway.yourdomain.com/grafana/**
这个grafana.ini主要保存在config map或者YAML文件下,可以编辑。
重新应用或编辑规则并在入口创建一个映射,这应该有效。
不要忘记重启您的 pod,以便应用配置映射更改!
我已经安装在 kube-prometheus-stack 下面,在尝试使用它自己的 Ingress URL 访问 Grafana 仪表板时出现错误。我相信我在这里遗漏了一些愚蠢的东西,但找不到任何线索。我已经看过
图表:kube-prometheus-stack-9.4.5 应用程序版本:0.38.1
当我导航至 https://myorg.grafanatest.com URL, I get redirected to https://myorg.grafanatest.com/login 并显示以下消息时。
对 grafana/values.yaml 所做的更改:
grafana.ini:
server:
# The full public facing url you use in browser, used for redirects and emails
root_url: https://myorg.grafanatest.com
进行上述更改后,Helm 命令用于安装 Prometheus-Grafana operator。
helm install pg kube-prometheus-stack/ -n monitoring
我在 Grafana pod 内的 grafana.ini 文件中看到以下设置。
[analytics]
check_for_updates = true
[grafana_net]
url = https://grafana.net
[log]
mode = console
[paths]
data = /var/lib/grafana/data
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[server]
root_url = https://myorg.grafanatest.com/
您需要从父图表进行编辑values.yaml
- 从 kube-prometheus-stack 图表中获取默认值 values.yaml,保存到文件
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update
helm show values prometheus-community/kube-prometheus-stack > values.yaml
在 values.yaml 文件中,像这样编辑:
## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
##
#### This below line is in 509 line
grafana:
enabled: true
namespaceOverride: ""
## Deploy default dashboards.
##
defaultDashboardsEnabled: true
adminPassword: prom-operator
ingress:
## If true, Grafana Ingress will be created
##
enabled: true
## Annotations for Grafana Ingress
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## Labels to be added to the Ingress
##
labels: {}
## Hostnames.
## Must be provided if Ingress is enable.
##
# hosts:
# - grafana.domain.com
hosts:
- myorg.grafanatest.com
## Path for grafana ingress
path: /
grafana.ingress.enabled
到true
grafana.ingress.hosts
添加- myorg.grafanatest.com
- 应用
helm -n monitoring install -f ./values.yaml kube-prometheus prometheus-community/kube-prometheus-stack
希望能帮到你
在此处发布解决方案,因为它正在运行。按照上面提到的 gumelaragum 的步骤创建 values.yaml 并更新其中的以下值,并将 values.yaml 传递给 helm install 步骤。不知道为什么它在不启用 serve_from_sub_path 的情况下无法工作,但没关系,因为它现在可以工作了。请注意,我没有启用 Ingress 部分,因为我已经在安装过程之外创建了 Ingress 路由。
helm show values prometheus-com/kube-prometheus-stack > custom-values.yaml
然后通过更改 custom-values.yaml 中的以下值进行安装。根据需要更改命名空间。
helm -n monitoring install -f ./custom-values.yaml pg prometheus-com/kube-prometheus-stack
grafana:
enabled: true
namespaceOverride: ""
# set pspUseAppArmor to false to fix Grafana pod Init errors
rbac:
pspUseAppArmor: false
grafana.ini:
server:
domain: mysb.grafanasite.com
#root_url: "%(protocol)s://%(domain)s/"
root_url: https://mysb.grafanasite.com/grafana/
serve_from_sub_path: true
## Deploy default dashboards.
##
defaultDashboardsEnabled: true
adminPassword: prom-operator
ingress:
## If true, Grafana Ingress will be created
##
enabled: false
## Annotations for Grafana Ingress
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## Labels to be added to the Ingress
##
labels: {}
## Hostnames.
## Must be provided if Ingress is enable.
##
# hosts:
# - grafana.domain.com
hosts:
- mysb.grafanasite.com
## Path for grafana ingress
path: /grafana/
我看到相同的值反映在 Grafana 容器安装路径 (/etc/grafana/grafana.ini) 内的 grafana.ini 文件中。
[analytics]
check_for_updates = true
[grafana_net]
url = https://grafana.net
[log]
mode = console
[paths]
data = /var/lib/grafana/data
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[server]
domain = mysb.grafanasite.com
root_url = https://mysb.grafanasite.com/grafana/
serve_from_sub_path = true
像这样更新您的 grafana.ini 配置: grafana.ini 大部分可以在 grafana config map
下找到kubectl get cm
kubectl edit cm map_name
**data:
grafana.ini: |
[server]
serve_from_sub_path = true
domain = ingress-gateway.yourdomain.com
root_url = http://ingress-gateway.yourdomain.com/grafana/**
这个grafana.ini主要保存在config map或者YAML文件下,可以编辑。 重新应用或编辑规则并在入口创建一个映射,这应该有效。
不要忘记重启您的 pod,以便应用配置映射更改!