использовать прометей с внешним ip адресом - PullRequest
0 голосов
/ 05 февраля 2019

у нас есть кластер k8s, и у меня есть приложение, которое там работает.Теперь я пытаюсь добавить https://prometheus.io/, и я использую команду

helm install stable/prometheus --version 6.7.4 --name my-prometheus

, эта команда работает, и я получил это

NAME: my-prometheus LAST DEPLOYED: Tue Feb 5 15:21:46 2019 NAMESPACE: default STATUS: DEPLOYED ... при запускекоманда

kubectl get services

Я получил это

kubernetes                         ClusterIP   100.64.0.1       <none>        443/TCP    2d4h
my-prometheus-alertmanager         ClusterIP   100.75.244.55   <none>        80/TCP     8m44s
my-prometheus-kube-state-metrics   ClusterIP   None             <none>        80/TCP     8m43s
my-prometheus-node-exporter        ClusterIP   None             <none>        9100/TCP   8m43s
my-prometheus-pushgateway          ClusterIP   100.75.24.67     <none>        9091/TCP   8m43s
my-prometheus-server               ClusterIP   100.33.26.206   <none>        80/TCP     8m43s

Я не получил внешний IP

Кто-то знает, как его добавить?через сервис?любой пример для этого

update

я добавил следующий yml

apiVersion: v1
kind: Service
metadata:
  name: prometheus-service
spec:
  selector:
    app: prometheus-server
  type: LoadBalancer
  ports:
    - port: 8080
      targetPort: 9090
      nodePort: 30001

, который успешно создан

, теперь явидеть внешний ip как при запуске kubectl get services

my-prometheus-server               LoadBalancer   100.33.26.206   8080:30001/TCP     80/TCP     8m43s

И я использую в браузере 100.33.26.206:30001 и ничего не происходит, понимаете?

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, что вы пытаетесь создать сервис с типом LoadBalancer, у которого есть внутренний и внешний IP.

Вы можете создать один, как и любой другой сервис, но вы должны уточнить эти два поля:

externalTrafficPolicy: Local
type: LoadBalancer

Обновлено :

Кажется, что есть некоторая путаница, вам не нужен внешний ip для мониторинга ваших приложений, он будет использоваться только длядоступ к пользовательскому интерфейсу prometheus.

Пользовательский интерфейс доступен через порт 9090, но экспортер никогда не обращается к нему, так как он будет prometheus, который будет удалять экспортеры.

Теперь для доступа к услуге изВ Интернете у вас должен быть google ip, но кажется, что у вас все еще есть внутренний IP, он находится в той же подсети, что и другой кластер IP, и не должен.На данный момент вместо внешнего ip он показывает перенаправление порта, что также неверно, поскольку пользовательский интерфейс Prometheus находится на порту 9090 (если вы не изменили свою конфигурацию, она все равно должна быть).Вы должны попытаться удалить "nodePort" и оставить перенаправление порта на kubernetes.

...