zoukankan      html  css  js  c++  java
  • Prometheus Operator使用ServiceMonitor自定义监控 wang

    # 以旧版本etcd为例。新版本etcd的指标输出以http形式监听在127.0.0.1(可修改为0.0.0.0)的2381端口因此可以免证书配置。
    vim /etc/kubernetes/manifests/etcd.yaml
    #    - --listen-metrics-urls=http://127.0.0.1:2381
        - --listen-metrics-urls=http://0.0.0.0:2381
    
    # 1.创建secret资源,其中包含以https访问etcd集群的证书和私钥
    kubectl create secret generic etcd-certs \
    --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.crt \
    --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.key \
    --from-file=/etc/kubernetes/pki/etcd/ca.crt -n monitoring
      
    # 2.修改prometheus的资源对象,将上步生成的secret挂载至prometheus中
    kubectl edit prometheus k8s -n monitoring
      
      secrets:
      - etcd-certs
      
    # 查看证书挂载情况
    kubectl exec -it prometheus-k8s-0 -n monitoring -- ls /etc/prometheus/secrets/etcd-certs/
      
    # 3.创建etcd的endpoints对象并关联至headless service
    cat > etcd-service.yaml << EOF
    apiVersion: v1
    kind: Service
    metadata:
      name: etcd-k8s
      namespace: kube-system
      labels:
        k8s-app: etcd
    spec:
      type: ClusterIP
      clusterIP: None
      ports:
      - name: port
        port: 2379
        protocol: TCP
      
    ---
    apiVersion: v1
    kind: Endpoints
    metadata:
      name: etcd-k8s
      namespace: kube-system
      labels:
        k8s-app: etcd
    subsets:
    - addresses:
      - ip: 192.168.200.11
      - ip: 192.168.200.12
      - ip: 192.168.200.13
        nodeName: etcd-master
      ports:
      - name: port
        port: 2379
        protocol: TCP
    EOF
      
    kubectl apply -f etcd-service.yaml
      
    # 4.创建etcd的servicemonitor资源对象并应用到集群
    cat > etcd-monitor.yaml << EOF
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: etcd-k8s
      namespace: monitoring
      labels:
        k8s-app: etcd-k8s
    spec:
      jobLabel: k8s-app
      endpoints:
      - port: port
        interval: 30s
        scheme: https
        tlsConfig:
          caFile: /etc/prometheus/secrets/etcd-certs/ca.crt
          certFile: /etc/prometheus/secrets/etcd-certs/healthcheck-client.crt
          keyFile: /etc/prometheus/secrets/etcd-certs/healthcheck-client.key
          insecureSkipVerify: true
      selector:
        matchLabels:
          k8s-app: etcd
      namespaceSelector:
        matchNames:
        - kube-system
    EOF
      
    kubectl apply -f etcd-monitor.yaml
  • 相关阅读:
    SpringMVC使用静态资源
    MyBatis学习系列三——结合Spring
    新生儿操作系统操作手册
    新生儿信息管理系统升级说明
    Installing Vim 8.0 on Ubuntu 16.04 and Linux Mint 18
    git push.default 几种设置笔记
    vue测试安装和配置
    rspec 笔记
    vue引入bootstrap和fontawesome
    Vue单文件模板实例
  • 原文地址:https://www.cnblogs.com/wang-hongwei/p/15697604.html
Copyright © 2011-2022 走看看