首页 > 其他分享 >k8s证书监控--x509-certificate-exporter

k8s证书监控--x509-certificate-exporter

时间:2024-03-22 17:13:56浏览次数:26  
标签:exporter certificate kubernetes etc -- x509 pki

目录

k8s证书监控--x509-certificate-exporter

一、下载并解压

下载并解压helm包x509-certificate-exporter-3.10.1.tgz

# 解压
tar -zxvf x509-certificate-exporter-3.10.1.tgz
cd x509-certificate-exporter
# 根据需求修改values.yaml(详见下方修改项建议)
# 创建namespace,也可使用已有namespace,但建议新建一个
kubectl creste namespace ssl-monitor
# 修改完毕后,创建监控服务
helm install x509-certificate-exporter . --namespace ssl-monitor

二、推送镜像到镜像仓库

# 导出镜像包
docker load -i enix-exporter.tar 
# 镜像重命名
docker tag docker.io/enix/x509-certificate-exporter:3.10.1 【harbor地址】/enix/x509-certificate-exporter:3.10.1
# 推送镜像
docker push 【harbor地址】/enix/x509-certificate-exporter:3.10.1

三、根据实际情况修改values.yaml,其他配置可不做修改

image:
  # 修改为harvor地址,例如10.76.153.18:8080
  registry: docker.io
  # 修改为仓库名称
  repository: enix/x509-certificate-exporter
  # 修改为镜像名称,默认是Chart中的appVersion,3.10.1
  tag: ""

secretsExporter:
  # 是否监控TLS Secrets,需要为true,不需要为false,这会创建一个deployment
  enabled: true

hostPathsExporter:
  daemonSets:
    # ds名称,建议以mater、nodes、etcd等名称作为区分
    master:
      # 节点标签,根据实际情况调整,基本也不用修改
      nodeSelector:
        node-role.kubernetes.io/master: ""
      # 容忍,根据实际情况调整,基本也不用修改
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      # 证书所在目录,根据实际情况调整
      watchFiles:
      - /var/lib/kubelet/pki/kubelet-client-current.pem
      - /etc/kubernetes/pki/apiserver.crt
#      - /etc/kubernetes/pki/apiserver-etcd-client.crt
      - /etc/kubernetes/pki/apiserver-kubelet-client.crt
      - /etc/kubernetes/pki/ca.crt
      - /etc/kubernetes/pki/front-proxy-ca.crt
      - /etc/kubernetes/pki/front-proxy-client.crt
#      - /etc/kubernetes/pki/etcd/ca.crt
#      - /etc/kubernetes/pki/etcd/healthcheck-client.crt
#      - /etc/kubernetes/pki/etcd/peer.crt
#      - /etc/kubernetes/pki/etcd/server.crt
      # 配置文件所在目录,根据实际情况调整,也可不做配置
      watchKubeconfFiles:
      - /etc/kubernetes/admin.conf
      - /etc/kubernetes/controller-manager.conf
      - /etc/kubernetes/scheduler.conf

    # 工作节点,根据实际情况调整,可不做配置
    nodes:
      nodeSelector:
        node-role.kubernetes.io/worker: ""
      tolerations:
      - effect: NoExecute
        key: check-domain
        operator: Exists
      watchFiles:
      - /var/lib/kubelet/pki/kubelet-client-current.pem
      - /etc/kubernetes/pki/ca.crt

四、配置监控以及告警

前往prometheus使用(x509_cert_not_after - time()) / 86400是否有结果,有则成功,无则失败

前往告警平台配置告警,有效期低于14天告警

promQL为:(x509_cert_not_after - time()) / 86400 < 14

若需要配置grafana面板,则复制helm包中的x509-certificate-exporter/grafana-dashboards/x509-certificate-exporter.json,通过导入json的形式创建面板即可

五、异常处理

# 检查daemonset是否已创建
kubectl get ds -n ssl-monitor
# 检查pod是否都运行
kubectl get po -n ssl-monitor -owide
# 若运行异常,查看日志,一般都为某证书没读取权限或证书不存在
kubectl logs -n ssl-monitor 【pod name】
# 若证书不存在或目录有误,则调整监控目录
kubectl edit ds -n ssl-monitoring 【ds name】
# 若证书无读取权限,则前往该节点赋权
chmod +r 【证书路径】

标签:exporter,certificate,kubernetes,etc,--,x509,pki
From: https://www.cnblogs.com/dingcong1201/p/18089954

相关文章

  • Сертификация ЭМС
    СертификацияEMC(электромагнитнаясовместимость)—этостандартсертификации,которыйдоказывает,чтоэлектронноеиэлектрическоеоборудо......
  • 2020-8-5-tomcat优化
    tomcat安装与配置、优化内容、JMeter、JVM字节码tomcat安装与配置官网下载后上传到服务器$tar-xvfapache-tomcat-8.5.57.tar.gz1)修改用户$viconf/tomcat-users.xml<rolerolename="manager"/><rolerolename="manager-gui"/><rolerolename="admin......
  • uniapp开发ios,scroll-view横向滚动失效,动态获取scroll-view内部子容器总宽度,然后添加
    这是老bug了,官方一直没有解决掉。已经摸索到完美解决方案,遇到这个问题的可以看下。本文以三级导航页面中的二级横向滚动导航为例,说明如何做到不同宽度子元素的横向滚动。bug定位:本来横向滚动只要子元素宽度大于scroll-view固定宽度就可以滚动的,但是IOSApp开发中子元素高度必须......
  • 深拷贝与浅拷贝
     #include<iostream>usingnamespacestd;classPerson{public:Person(){cout<<"无参构造函数!"<<endl;}Person(intage,intheight){m_Age=age;m_Height=newint(height);cout<<&q......
  • 2020-7-28-并发编程
    概述、生产者消费者模型、锁对象、集合的线程安全问题、Callable的使用、计数器、队列、线程池、ForkJoin、异步回调、单例模式、CAS、锁概述1多线程下变量访问存在问题变量访问不可见性2JMM特点所有共享变量存于主内存中每个线程有自己的工作内存线程对变量的操作都必须在......
  • 2020-8-9-JAVA机考题
    二叉排序数及中序遍历实现,socket应用,日志模拟的实现试题一/***实现要求:*1、根据已有的代码片段,实现一个二叉排序树;*2、用中序遍历输出排序结果,结果形如:0,1,2,3,4,5,6,7,8,9,*3、注意编写代码注释*/publicclassBinaryTree{ publicstaticvoidmain(String[]a......
  • 2020-8-6-JVM虚拟机
    运行时数据区域、溢出、垃圾收集、问题解决运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域1)程序计数器(1)一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器(2)字节码解释器工作时就是通过改变这个计数器的......
  • 2020-8-12-Spring-Security
    资源访问控制方式、认证流程、授权流程、快速开始、授权案例、自定义登陆登出页面、会话管理、基于方法的授权资源访问控制方式基于角色的访问控制Role-BasedAccessControl基于资源的访问控制(常用)Resource-BasedAccessControl认证流程UsernamePasswordAuthenticatio......
  • 贪心刷题复盘
    最近练了一些贪心的题目,虽然思想都是局部最优的思想,但是落实到每一题上其实会有细微的差别,复盘一下题目加深印象。P2240【深基12.例1】部分背包问题这一题按照性价比排序就可以了,性价比最高的排在最前面。为了避免除法带来的问题,我们比较两个点的性价比用叉乘的方式来比较点......
  • rabbitmq
    composerrequirephp-amqplib/php-amqplib:2.6.1在界面上设置好交换机、队列、绑定代码上只需要插入和读取 设置交换机 设置队列 队列绑定交换机  ......