日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

巧用 Prometheus 监控 Kubernetes 集群所有组件的证书

發布時間:2024/3/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 巧用 Prometheus 监控 Kubernetes 集群所有组件的证书 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

KubeSphere 雖然提供了運維友好的向導式操作界面,簡化了 Kubernetes 的運維操作,但它還是建立在底層 Kubernetes 之上的,Kubernetes 默認的證書有效期都是一年,即使使用 KubeKey[1] 這樣的集群安裝利器也不能改變這個結果。如果不想辦法對 Kubernetes 各個組件的證書有效期進行監控,說不定哪天就會掉進坑里。

有部分讀者可能聽說過 ssl-exporter[2] 這個項目,它能提供多種針對 SSL 的檢測手段,包括:HTTPS 證書、文件證書、Kubernetes Secret、Kubeconfig 文件。從功能上來看,它基本可以滿足上述需求,但它的指標還不夠豐富,本文將介紹一個更為強大的 Prometheus Exporter:x509-certificate-exporter[3]

與 ssl-exporter 不同,x509-certificate-exporter 只專注于監控 Kubernetes 集群相關的證書,包括各個組件的文件證書、Kubernetes TLS Secret、Kubeconfig 文件,而且指標更加豐富。我們來看看在 KubeSphere 中如何部署 x509-certificate-exporter 以監控集群的所有證書。

準備 KubeSphere 應用模板

KubeSphere[4] 集成了 OpenPitrix[5] 來提供應用程序全生命周期管理,OpenPitrix 是一個多云應用管理平臺,KubeSphere 利用它實現了應用商店和應用模板,以可視化的方式部署并管理應用。對于應用商店中不存在的應用,用戶可以將 Helm Chart 交付至 KubeSphere 的公共倉庫,或者導入私有應用倉庫來提供應用模板。

本教程將使用 KubeSphere 的應用模板來部署 x509-certificate-exporter。

要想從應用模板部署應用,需要創建一個企業空間、一個項目和兩個用戶帳戶(ws-admin 和 project-regular)。ws-admin 必須被授予企業空間中的 workspace-admin 角色, project-regular 必須被授予項目中的 operator 角色。有關更多信息,請參考創建企業空間、項目、帳戶和角色[6]。

創建項目

在此步驟中,您需要使用在上一步驟中創建的帳戶 ws-admin 來創建項目。KubeSphere 中的項目與 Kubernetes 中的命名空間相同,為資源提供了虛擬隔離。有關更多信息,請參見命名空間[7]。

  • 以 ws-admin 身份登錄 KubeSphere,在項目管理中,點擊創建。

  • 輸入項目名稱(例如 exporter),然后點擊確定完成,您還可以為項目添加別名和描述。

  • 項目管理中,點擊剛創建的項目查看其詳細信息。

  • 邀請 project-regular 至該項目,并授予該用戶 operator 角色。請參考下圖以了解具體步驟。

    具有 operator 角色的用戶是項目維護者,可以管理項目中除用戶和角色以外的資源。

  • 添加應用倉庫

  • 以 ws-admin 用戶登錄 KubeSphere 的 Web 控制臺。在您的企業空間中,進入應用管理下的應用倉庫頁面,并點擊添加倉庫

  • 在彈出的對話框中,將應用倉庫名稱設置為 enix,將應用倉庫的 URL 設置為 https://charts.enix.io,點擊驗證對 URL 進行驗證,再點擊確定進入下一步。

  • 應用倉庫導入成功后會顯示在如下圖所示的列表中。

  • 部署 x509-certificate-exporter

    導入 x509-certificate-exporter 的應用倉庫后,就可以通過應用模板來部署 x509-certificate-exporter 了。

  • 登出 KubeSphere 并以 project-regular 用戶重新登錄。在您的項目中,進入應用負載下的應用頁面,再點擊部署新應用。

  • 在彈出的對話框中選擇來自應用模板。

  • 在彈出的對話框中選擇來自應用模板。

    來自應用商店:選擇內置的應用和以 Helm Chart 形式單獨上傳的應用。

    來自應用模板:從私有應用倉庫和企業空間應用池選擇應用。

  • 從下拉列表中選擇之前添加的私有應用倉庫 enix。

  • 選擇 x509-certificate-exporter 進行部署。

  • 您可以查看應用信息和配置文件,在版本下拉列表中選擇版本,然后點擊部署。

  • 設置應用名稱,確認應用版本和部署位置,點擊下一步。

  • 接下來進入應用配置頁面。

  • 這里需要手動編輯配置清單,指定證書文件的路徑。

    ??daemonSets:master:nodeSelector:node-role.kubernetes.io/master:?''tolerations:-?effect:?NoSchedulekey:?node-role.kubernetes.io/masteroperator:?ExistswatchFiles:-?/var/lib/kubelet/pki/kubelet-client-current.pem-?/etc/kubernetes/pki/apiserver.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.crtwatchKubeconfFiles:-?/etc/kubernetes/admin.conf-?/etc/kubernetes/controller-manager.conf-?/etc/kubernetes/scheduler.confnodes:tolerations:-?effect:?NoSchedulekey:?node-role.kubernetes.io/ingressoperator:?ExistswatchFiles:-?/var/lib/kubelet/pki/kubelet-client-current.pem-?/etc/kubernetes/pki/ca.crt

    該配置會創建兩個 DaemonSet,master 運行在控制節點,nodes 運行在計算節點。

    $?kubectl?-n?exporter?get?dsNAME????????????????????????????????????DESIRED???CURRENT???READY???UP-TO-DATE???AVAILABLE???NODE?SELECTOR?????????????????????AGE x509-x509-certificate-exporter-master???1?????????1?????????1???????1????????????1???????????node-role.kubernetes.io/master=???3d14h x509-x509-certificate-exporter-nodes????3?????????3?????????3???????3????????????3???????????<none>????????????????????????????3d14h

    參數解釋:

    • watchFiles : 證書文件所在的路徑。

    • watchKubeconfFiles : Kubeconfig 文件所在的路徑。

    改完后的效果如圖所示。

    • 點擊部署,等待應用創建完成并開始運行。

    • 接入監控系統

      通過應用模板部署完成后,除了會創建兩個 DaemonSet 之外,還會創建一個 ServiceMonitor。

      $?kubectl?-n?exporter?get?servicemonitor NAME?????????????????????????????AGE x509-x509-certificate-exporter???3d15h

      打開 Prometheus 的 Web UI,可以看到相應的 Targets 已經在線。

      x509-certificate-exporter 官方提供了一個 Grafana Dashboard[8],導入 Grafana 后的效果如圖:

      各項指標一目了然,一般我們只需要關注已經過期的證書和即將過期的證書即可。假設我想查看證書還有多久失效,可以使用表達式 (x509_cert_not_after{filepath!=""} - time()) / 3600 / 24。

      可以創建相應的告警規則,以便在證書即將過期時通知運維人員盡快更新證書。例如:

      進入監控告警下的告警策略頁面,點擊創建。

      填寫告警名稱,設置告警級別,點擊下一步。

      選擇自定義規則,告警規則填入 (x509_cert_not_after{filepath!=""} - time()) / 3600 / 24 < 30。

      點擊下一步,填寫標題和消息。

      點擊創建,告警規則就創建完成了。

      結語

      事實上 KubeSphere 從 3.1 版本開始就內置了證書過期的告警策略,可以在告警策略頁面的內置策略中輸入 expir 進行搜索。

      點進去可以看到具體的告警規則表達式。

      告警規則表達式里面的指標是 API Server 組件自身暴露的指標,并沒有兼顧到整個集群所有組件的證書。想要全面監控所有組件的證書,建議結合 x509-certificate-exporter 在 KubeSphere 中添加自定義告警策略,從此不再為證書過期而煩惱。

      腳注

      [1]

      KubeKey: https://github.com/kubesphere/kubekey

      [2]

      ssl-exporter: https://github.com/ribbybibby/ssl_exporter

      [3]

      x509-certificate-exporter: https://github.com/enix/x509-certificate-exporter

      [4]

      KubeSphere: https://kubesphere.com.cn

      [5]

      OpenPitrix: https://github.com/openpitrix/openpitrix

      [6]

      創建企業空間、項目、帳戶和角色: https://kubesphere.io/zh/docs/quick-start/create-workspace-and-project/

      [7]

      命名空間: https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/namespaces/

      [8]

      Grafana Dashboard: https://grafana.com/grafana/dashboards/13922

      KubeSphere 社區活動預告

      “CIC 2021 云計算峰會”正式啟動啦!CIC 2021 是一場 Top 級行業盛會,將匯聚 800 家青云QingCloud 企業客戶信息化負責人,采取線上線下相結合的方式,與會規模將超過 10000 人。

      大會的主題為“預見·數字自由”,將有技術大牛分享前沿成果,行業大咖帶來實戰經驗。本次大會除了主論壇,還設置了多個分論壇。KubeSphere Meetup 將作為其中一個分論壇,延續之前上海、杭州、成都三站的 “KubeSphere & Friends” 的主題,為大家帶來技術的交流和碰撞。

      北京站目前已經開啟招募,若您希望獲取經驗,期待和各位極客交流,那就抓緊報名吧!位置有限,先到先得!

      掃描下方圖中的二維碼進入到報名頁面,填寫個人信息,選擇 “KubeSphere & Friends 2021 Meetup - 北京站”,即可報名。

      關于?KubeSphere

      KubeSphere (https://kubesphere.io)是在 Kubernetes 之上構建的開源容器混合云,提供全棧的 IT 自動化運維的能力,簡化企業的 DevOps 工作流。

      KubeSphere?已被?Aqara?智能家居、本來生活、新浪、華夏銀行、四川航空、國藥集團、微眾銀行、紫金保險、中通、中國人保壽險、中國太平保險、中移金科、Radore、ZaloPay?等海內外數千家企業采用。KubeSphere 提供了開發者友好的向導式操作界面和豐富的企業級功能,包括多云與多集群管理、Kubernetes?資源管理、DevOps?(CI/CD)、應用生命周期管理、微服務治理?(Service?Mesh)、多租戶管理、監控日志、告警通知、審計事件、存儲與網絡管理、GPU?support?等功能,幫助企業快速構建一個強大和功能豐富的容器云平臺。

      ???GitHub:https://github.com/kubesphere

      ??????官網(中國站):https://kubesphere.com.cn

      ????????????微信群:請搜索添加群助手微信號?kubesphere

    總結

    以上是生活随笔為你收集整理的巧用 Prometheus 监控 Kubernetes 集群所有组件的证书的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。