k8s上部署nebula-stats-exporter

k8s部署nebula-stats-exporter都需要部署哪些组件服务呢?还需要单独部署prometheus吗?

需要的,exporter只是把nebula的指标数据转化成prometheus支持的格式,exporter的部署可以参考文档 nebula-stats-exporter/deploy/kubernetes at master · vesoft-inc/nebula-stats-exporter · GitHub

1 个赞

nebula-stat-exporter部署是否可以把每个storaged、metad、graphd服务pod里面吗

可以的,需要注意的是exporter要和nebulacluster在同一个namespace

有对应的项目例子吗?比如现在部署nebula-stat-exporter、node-exporter两个监控采集全部都会和storaged、metad、graphd服务在一个pod里面,这样会有问题么

这里有个example,在k8s上nebula推荐用我们的operator部署,https://github.com/vesoft-inc/nebula-stats-exporter/blob/master/deploy/kubernetes/example-CN.md, 另外两个监控采集全部都会和storaged、metad、graphd服务在一个pod里面是什么意思 :thinking: 可以详细描述一下吗

比如我部署nuebla有6个pod,是不是需要把两个监控采集也都部署到每个pod里面,需要动态获取采集对象ip

node exporter 一个节点布一个,nebula-stats-exporter一个namespace布一个就可以了,默认会去去采集所有带有app.kubernetes.io/component label的pod的数据

node exporter 一个节点一个,这个节点是针对机器来说的吗?
我看例子中nebula-stats-exporter 启动的指定config里面指定storaged、metad、graphd的ip,是否可以不用指定或者动态获取呢?

是的,比如你可以用daemonset部署node exporter,config是虚拟机环境才需要的,k8s环境不需要指定config,pod根据label筛选获取

1 个赞

也就是说,在同一个namespace下,我先部署了nebula实例,总共有6个pod,然后在相同的namespace下,启动一个nebula-stats-exporter实例,不需要配置config,直接就能收集到nebula的监控信息?

1 个赞

是的,前提是你用nebula-operator部署的nebula

nebula-operator和nebula-docker-compose不一样吗?

nebula-operator和nebula-docker-compose是不一样吗?我看了下里面的yaml文件,差别很大

docker-compose是容器的部署方式,nebula-operator是k8s的部署方式,你可以了解一下 什么是 Nebula Operator - Nebula Graph Database 手册

1 个赞

好的。感谢,我先研究一下。

kubeRBACProxy:
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
kubeScheduler:
image: k8s.gcr.io/kube-scheduler:v1.18.8

这俩镜像似乎都下载不了,有外网的可提供吗?

可以试下kubesphere的,之前好像有社区用户这样用过,Docker Hub Docker Hub

创建nebula-operator实例的时候,提示这个错是因为什么?
错误信息: Unable to continue with install: ClusterRole “nebula-operator-controller-manager-role” in namespace “” exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key “meta.helm.sh/release-name” must equal “nebula-operator5”: current value is “nebula-operator1”; annotation validation error: key “meta.helm.sh/release-namespace” must equal “nebula-operator5”: current value is “nebula-operator1"”,“details”:[null]}}

ClusterRole是全局性的,看你的报错是系统里已经存在了,你需要先删除掉,kubectl delete clusterroles nebula-operator-controller-manager-role

2 个赞