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
  • 相关阅读:
    make_blobs(源码)
    odoo13
    Odoo Community & Enterprise | & 我的一些瞎扯。。
    odoo 应用笔记 01 [草稿]
    PVE 为虚拟机 直通硬盘
    freebsd 断电 单用户模式恢复
    odoo 绿色版
    WSL 手动下载安装
    Command pg_dump not found
    odoo性能优化
  • 原文地址:https://www.cnblogs.com/wang-hongwei/p/15697604.html
Copyright © 2011-2022 走看看