kubernetes 使用Prometheus操作符通过基本身份验证或TLS保护Prometheus刮取端点

7bsow1i6  于 2023-04-11  发布在  Kubernetes
关注(0)|答案(1)|浏览(448)

我想保护Prometheus的不同部分,例如Prometheus /metrics和node-exporter /metrics,或者端点可能是什么。因此,如果有人要访问该端点,他们将需要证书或用户名和密码。
如何使用Prometheus操作符保护这些端点,以及如何使用Prometheus进行身份验证?
我已经初步看了Prometheus文档,但没有太多使用Prometheus操作符的信息。我已经使用基本的 auth创建了一个Configmap,并使用了一个卷挂载到/etc/prometheus/web_config/web-config.yml,但这似乎会破坏Prometheus。
任何帮助将不胜感激。
查看文档和Github。

pw9qyyiw

pw9qyyiw1#

要使用Prometheus Operator保护Prometheus中的端点,您可以按照以下常规步骤配置身份验证和授权:
1.通过创建一个ServiceMonitor并将basicAuth字段设置为true,在Prometheus Operator中启用身份验证和授权。
1.创建一个包含身份验证凭据的Secret。Secret应该有一个用户名密钥和一个密码密钥。
1.通过在Prometheus配置文件中添加remote_write部分,将Prometheus示例配置为使用身份验证Secret。此部分应包含basic_auth字段的身份验证信息。
下面是一个为Prometheus示例启用基本身份验证和授权的ServiceMonitor示例:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: prometheus
  endpoints:
  - interval: 15s
    port: web
    scheme: http
    basicAuth:
      secretName: prometheus-basic-auth
      usernameKey: username
      passwordKey: password

在本例中,使用名为prometheus-basic-auth的Secret进行身份验证,并使用密钥username和password。ServiceMonitor通过应用程序应用于Prometheus示例:普罗米修斯公司
请注意,您需要事先创建包含用户名和密码的Secret。
配置ServiceMonitor后,您可以将Prometheus配置为对/metrics端点使用身份验证,方法是将以下部分添加到Prometheus配置文件中:

remote_write:
  - url: "http://your-prometheus-url/write"
    basic_auth:
      username: "your-username"
      password: "your-password"

确保将your-prometheus-url、your-username和your-password替换为适当的值。
您还可以将类似的配置应用于其他端点,例如节点导出器端点。
请记住,保护端点可能会影响Prometheus示例和监控系统的性能,因此在实施这些更改后测试和监控系统非常重要。

相关问题