我正在努力理解掌舵,我想知道是否有人可以给我一些东西或帮我一些东西。
所以我确实在下面运行:
helm repo add coreos https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/
然后我用下面的方法安装了kube-prometheus:
helm install coreos/kube-prometheus --name kube-prometheus -f values.yaml --namespace monitoringtest
一切正常,但我正在尝试从json文件添加一些自定义仪表板,我很难理解如何做到这一点。
我跟着这个:https://blogcodevalue.wordpress.com/2018/09/16/automate-grafana-dashboard-import-process/
在我的values.yaml中,我在下面添加了
serverDashboardConfigmaps:
- example-dashboards
我明白,如果我这样做:
helm upgrade --install kube-prometheus -f values.yaml --namespace monitoringtest coreos/kube-prometheus
这应该导致grafana从example-dashboards
文件夹中获取名为custom-dashboards
的下面的配置图并加载* .json文件。
apiVersion: v1
kind: ConfigMap
metadata:
name: example-dashboards
data:
{{ (.Files.Glob "custom-dashboards/*.json").AsConfig | indent 2 }}
# Or
#
# data:
# custom-dashboard.json: |-
# {{ (.Files.Get "custom.json") | indent 4 }}
#
# The filename (and consequently the key under data) must be in the format `xxx-dashboard.json` or `xxx-datasource.json`
# for them to be picked up.
现在有两个问题:
如何将以上configmap添加到此helm版本中?
这个custom-dashboards
文件夹在哪里?它是在我的笔记本电脑上,然后发送到grafana?
我需要将所有https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/
复制到我的笔记本电脑上吗?
很抱歉解释了一切,但我只是想了解这一点。
我部分想通了。我可以从configmap加载仪表板。不是从单独的json文件,但它是一个进步。
对于任何有兴趣的人,我把它放在我的github页面上:https://github.com/tretos53/notes/blob/master/Grafana/Readme.MD
Helm chart是您为kubernetes打包和分发策划应用程序的方式,我认为您使用的是已弃用的图表。检查stable频道,如果您查看它,有几种方法可以导入仪表板。
重要的是要了解图表是要使用的包,当然您可以扩展它,添加自定义资源并上传到您自己的存储库,甚至可以为上游做贡献。
在运行期间,只要您有更改要反映在您的环境中,您就可以在已安装的图表上使用upgrade(应用更改)以使其生效。对于grafana,存在一个带有仪表板内容的配置图的“边车观察者”,如果你在稳定的频道上提到了属性sidecar.dashboards.label=grafana_dashboard
,则让边车观看kubernetes API上的事件以获取任何带有标签grafana_dashboard
的配置文件(注意sidecar.dashboards.searchNamespace
的命名空间) ),每当配置映射满足该条件时,它将自动影响Grafana上的仪表板(添加/更改/删除...)
另外,我向您介绍Helm Architecture,了解有关这些概念的更多信息。