启用 node-exporter 的访问认证
发表: |更新:
|字数总计: 473|阅读时长: 2分钟|阅读量:
本文永久链接: https://www.xtplayer.cn/prometheus/enable-access-authentication-for-node-exporter/
步骤一、创建 node-exporter 配置密文
HASH=$(htpasswd -nBC 12 "" | tr -d ':\n')
cat > web-config.yml <<EOF basic_auth_users: node-exporter: ${HASH} EOF
cat web-config.yml
kubectl create secret generic node-exporter-config \ --from-file=config.yaml=web-config.yml \ -n cattle-monitoring-system
kubectl get secret node-exporter-config -n cattle-monitoring-system -o yaml
|
步骤二、创建认证 secret,用户名密码更新需要修改
在 node-exporter 启用访问认证之后,prometheus 访问 node-exporter 获取指标数据需要认证。以下的用户名和密码用于prometheus 访问 node-exporter 的访问认证。用户名和密码与步骤一保持一致。
kubectl create secret generic node-exporter-auth \ --from-literal=username=node-exporter \ --from-literal=password=node-exporter \ -n cattle-monitoring-system
|
步骤三、创建用户名和密码的 base64 字符串备用
node-exporter pod 启用了 k8s 的健康检查,在 node-exporter 启用访问认证之后,k8s 健康检查会因为无法访问导致健康检查失败。以下用户用户名和密码用于 k8s 健康检查时,访问认证的用户名和密码。用户名和密码与步骤一保持一致。
echo -n "node-exporter:node-exporter" | base64
|
步骤四、更新监控 App 配置
编辑监控 App > 编辑 yaml,在 prometheus-node-exporter 层级下插入如下配置。
prometheus-node-exporter: livenessProbe: httpGet: httpHeaders: - name: Authorization value: Basic <第三步中生成的字符串> readinessProbe: httpGet: httpHeaders: - name: Authorization value: Basic <第三步中生成的字符串> secrets: - name: node-exporter-config mountPath: /tmp extraArgs: - >- --web.config.file=/tmp/config.yaml prometheus: monitor: basicAuth: username: name: node-exporter-auth key: username password: name: node-exporter-auth key: password
|