Я использую Helm для установки prometheus-operator в моем кластере kubernetes, все работает нормально, и я могу получить метрики
root@k8s-master:~/vernemq# kubectl get pod
NAME READY STATUS RESTARTS AGE
alertmanager-my-mon-prometheus-operator-alertmanager-0 2/2 Running 0 19m
my-mon-grafana-67d85656f5-v5pzd 2/2 Running 0 19m
my-mon-kube-state-metrics-8f6fb588d-jwjpj 1/1 Running 0 19m
my-mon-prometheus-node-exporter-5r528 1/1 Running 0 19m
my-mon-prometheus-node-exporter-gmx7r 1/1 Running 0 19m
my-mon-prometheus-node-exporter-nbpxl 1/1 Running 0 19m
my-mon-prometheus-operator-operator-858559bfc5-kmjkv 2/2 Running 0 19m
prometheus-my-mon-prometheus-operator-prometheus-0 3/3 Running 0 19m
Итак, после этого я продолжаю использовать helm для установки vernemq в свой кластер.
изменение конфигурации в values.yaml
...
serviceMonitor:
create: true
...
...
additionalEnv:
- name: DOCKER_VERNEMQ_ALLOW_ANONYMOUS
value: "on"
- name: DOCKER_VERNEMQ_ACCEPT_EULA
value: "yes"
...
...
VerneMQ также отлично работает:
vernemq-0 1/1 Running 0 7m50s
vernemq-1 1/1 Running 0 6m11s
Но есть проблемы, оператор prometheus не очистил метрику от Vernemq servicemonitor даже тех, которые находятся в том же пространстве имен:
root@k8s-master:~/vernemq# kubectl get servicemonitors.monitoring.coreos.com
NAME AGE
my-mon-prometheus-operator-alertmanager 21m
my-mon-prometheus-operator-apiserver 21m
my-mon-prometheus-operator-coredns 21m
my-mon-prometheus-operator-grafana 21m
my-mon-prometheus-operator-kube-controller-manager 21m
my-mon-prometheus-operator-kube-etcd 21m
my-mon-prometheus-operator-kube-proxy 21m
my-mon-prometheus-operator-kube-scheduler 21m
my-mon-prometheus-operator-kube-state-metrics 21m
my-mon-prometheus-operator-kubelet 21m
my-mon-prometheus-operator-node-exporter 21m
my-mon-prometheus-operator-operator 21m
my-mon-prometheus-operator-prometheus 21m
vernemq 10m
Я использую k8s 1.18.4
Итак, как сделать так, чтобы пром-оператор считывал метрики с монитора службы vernemq?
Безголовый vernemq также встал:
root@k8s-master:~/vernemq# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 22m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 48m
my-mon-grafana NodePort 10.99.93.242 <none> 80:32529/TCP 22m
my-mon-kube-state-metrics ClusterIP 10.101.98.181 <none> 8080/TCP 22m
my-mon-prometheus-node-exporter ClusterIP 10.103.80.187 <none> 9100/TCP 22m
my-mon-prometheus-operator-alertmanager ClusterIP 10.107.136.232 <none> 9093/TCP 22m
my-mon-prometheus-operator-operator ClusterIP 10.111.245.89 <none> 8080/TCP,443/TCP 22m
my-mon-prometheus-operator-prometheus NodePort 10.98.160.49 <none> 9090:31798/TCP 22m
prometheus-operated ClusterIP None <none> 9090/TCP 22m
vernemq ClusterIP 10.100.61.49 <none> 1883/TCP 11m
vernemq-headless ClusterIP None <none> 4369/TCP,8888/TCP 11m