kube-prometheus的TLS安全改造

一、prometheus

#创建证书以及证书secret

openssl genrsa -out prome.key 2048

openssl req -new -x509 -key prome.key -out prome.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=prome.test.com

kubectl create secret tls prome-tls-secret --cert=prome.crt --key=prome.key -n Prometheus

kubectl get secrets -A | grep prome-tls-secret

#修改kube-prometheus-stack的values.yaml文件

prometheus.prometheusSpec.web
web: 
  tlsConfig: 
    keySecret: 
      key: tls.key
      name: prome-tls-secret
    cert: 
      secret: 
        key: tls.crt
        name: prome-tls-secret

二、alertmanage

#创建证书以及证书secret

openssl genrsa -out alert.key 2048

openssl req -new -x509 -key alert.key -out alert.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=alert.test.com

kubectl create secret tls  alert-tls-secret --cert=alert.crt --key=alert.key -n Prometheus

kubectl get secrets -A | grep  alert-tls-secret

#修改kube-prometheus-stack的values.yaml文件

alertmanage.alertmanagerSpec.web
web: 
  tlsConfig: 
    keySecret: 
      key: tls.key
      name: alert-tls-secret
    cert: 
      secret: 
        key: tls.crt
        name: alert-tls-secret

#修改完成后使用helm安装kube-prometheus-stack

helm install prometheus . -n prometheus

三、grafana

修改grafana的cm配置

kubectl get cm -A | grep grafana

kubectl edit cm -n prometheus prometheus-grafana  

data:
  grafana.ini: |  # 添加以下配置
  [server]
  protocol = https
  cert_file = /etc/grafana/ssl/tls.crt
  cert_key = /etc/grafana/ssl/tls.key

#创建证书secret

openssl genrsa -out grafana.key 2048

openssl req -new -x509 -key grafana.key -out grafana.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=grafana.test.com

kubectl create secret tls grafana-tls-secret --cert=grafana.crt --key=grafana.key -n prometheus

kubectl get secrets -A | grep grafana-tls-secret

#将证书挂载到grafana容器内

kubectl get sts -A | grep grafana

kubectl edit sts -n prometheus prometheus-grafana

volumeMounts:  #  volumeMounts下添加证书挂载路径
  - mountPath: /etc/grafana/ssl
    name: tls
 
volumes:  #volumes 下添加secret
  - name: tls
    secret: 
      defaultMode: 420 
      secretName: grafana-tls-secret

# 修改livenessProbe生存探针的协议为HTTPS

livenessProbe: 
  failureThreshold: 10 
  httpGet: 
    path: /api/health 
	port: 3000 
	scheme: HTTPS 

# 修改readinessProbe就绪探针的协议为HTTPS

readinessProbe: 
  failureThreshold: 3 
  httpGet: 
    path: /api/health
    port: 3000 
    scheme: HTTPS

修改完成后保存退出,重启容器, 到浏览器使用https://ip:port访问验证

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值