日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 背景
    • 邊緣集群限制
    • 關鍵需求
  • 方案
    • 架構圖
    • 技術方案規劃
  • 實施步驟
    • 1. 創建 roles
    • 2. 創建 kubernetes-event-exporter config
    • 3. 創建 Deployment
  • 自動化部署
    • 最終效果

      背景

      邊緣集群(基于 樹莓派 + K3S) 需要實現基本的告警功能。

      邊緣集群限制

      CPU/內存/存儲 資源緊張,無法支撐至少需要 2GB 以上內存和大量存儲的基于 Prometheus 的完整監控體系方案(即使是基于 Prometheus Agent, 也無法支撐) (需要避免額外的存儲和計算資源消耗)

      網絡條件,無法支撐監控體系,因為監控體系一般都需要每 1min 定時(或每時每刻)傳輸數據,且數據量不小;

      存在 5G 收費網絡的情況,且訪問的目的端地址需要開通權限,且按照流量收費,且因為 5G 網絡條件,網絡傳輸能力受限,且不穩定(可能會在一段時間內離線);

      關鍵需求

      總結下來,關鍵需求如下:

      • 實現對邊緣集群異常的及時告警,需要知道邊緣集群正在發生的異常情況;
      • 網絡:網絡條件情況較差,網絡流量少,只只能開通極少數目的端地址,可以容忍網絡不穩定(一段時間內離線)的情況;
      • 資源:需要盡量避免額外的存儲和計算資源消耗

      方案

      綜上所訴,采用如下方案實現:

      基于 Kubernetes Events 的告警通知

      架構圖

      IoT邊緣集群Kubernetes?Events告警通知實現示例

      技術方案規劃

      • 從 Kubernetes 的各項資源收集 Events, 如:

        pod

        node

        kubelet

        crd

      • 通過 kubernetes-event-exporter 組件來實現對 Kubernetes Events 的收集;
      • 只篩選 Warning 級別 Events 供告警通知(后續,條件可以進一步定義)
      • 告警通過 飛書 webhook 等通信工具進行發送(后續,發送渠道可以增加)

      實施步驟

      手動方式:

      在邊緣集群上,執行如下操作:

      1. 創建 roles

      如下:

      cat << _EOF_ | kubectl apply -f -
      ---
      apiVersion: v1
      kind: Namespace
      metadata:
        name: monitoring
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: event-exporter-extra
      rules:
        - apiGroups:
            - ""
          resources:
            - nodes
          verbs:
            - get
            - list
            - watch
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        namespace: monitoring
        name: event-exporter
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: event-exporter
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: view
      subjects:
        - kind: ServiceAccount
          namespace: monitoring
          name: event-exporter
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: event-exporter-extra
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: event-exporter-extra
      subjects:
        - kind: ServiceAccount
          namespace: kube-event-export
          name: event-exporter
      _EOF_
      

      2. 創建 kubernetes-event-exporter config

      如下:

      cat &lt;&lt; _EOF_ | kubectl apply -f -
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: event-exporter-cfg
        namespace: monitoring
      data:
        config.yaml: |
          logLevel: error
          logFormat: json
          route:
            routes:
              - match:
                  - receiver: "dump"      
              - drop:
                  - type: "Normal"
                match:
                  - receiver: "feishu"                     
          receivers:
            - name: "dump"
              stdout: {}
            - name: "feishu"
              webhook:
                endpoint: "https://open.feishu.cn/open-apis/bot/v2/hook/..."
                headers:
                  Content-Type: application/json
                layout:
                  msg_type: interactive
                  card:
                    config:
                      wide_screen_mode: true
                      enable_forward: true
                    header:
                      title:
                        tag: plain_text
                        content: XXX IoT K3S 集群告警
                      template: red
                    elements:
                      - tag: div
                        text: 
                          tag: lark_md
                          content: "**EventType:**  {{ .Type }}\n**EventKind:**  {{ .InvolvedObject.Kind }}\n**EventReason:**  {{ .Reason }}\n**EventTime:**  {{ .LastTimestamp }}\n**EventMessage:**  {{ .Message }}"
      _EOF_
      

      分享到:
      標簽:告警 服務器 示例 邊緣 集群
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定