電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>KubeEye Kubernetes集群自動(dòng)巡檢工具

KubeEye Kubernetes集群自動(dòng)巡檢工具

2022-05-10 | zip | 0.42 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache
開(kāi)發(fā)語(yǔ)言 Google Go
操作系統(tǒng) 跨平臺(tái)
軟件類(lèi)型 開(kāi)源軟件
所屬分類(lèi) 云計(jì)算、 PaaS系統(tǒng)/容器

軟件簡(jiǎn)介

KubeEye 旨在發(fā)現(xiàn) Kubernetes 上的各種問(wèn)題,比如應(yīng)用配置錯(cuò)誤(使用Polaris)、集群組件不健康和節(jié)點(diǎn)問(wèn)題(使用Node-Problem-Detector)。除了預(yù)定義的規(guī)則,它還支持自定義規(guī)則。

架構(gòu)圖

KubeEye 通過(guò)調(diào)用Kubernetes API,通過(guò)常規(guī)匹配日志中的關(guān)鍵錯(cuò)誤信息和容器語(yǔ)法的規(guī)則匹配來(lái)獲取集群診斷數(shù)據(jù),詳見(jiàn)架構(gòu)。

pYYBAGJn0ruAejoEAAMT1U3THWE109.png

怎么使用

  • 機(jī)器上安裝 KubeEye

    • 從?Releases?中下載預(yù)構(gòu)建的可執(zhí)行文件。
    • 或者你也可以從源代碼構(gòu)建
    git clone https://github.com/kubesphere/kubeeye.git
    cd kubeeye 
    make install
  • [可選] 安裝 Node-problem-Detector
    注意:這一行將在你的集群上安裝 npd,只有當(dāng)你想要詳細(xì)的報(bào)告時(shí)才需要。
    ke install npd

  • KubeEye 執(zhí)行

root@node1:# ke diag
NODENAME        SEVERITY     HEARTBEATTIME               REASON              MESSAGE
node18          Fatal        2020-11-19T10:32:03+08:00   NodeStatusUnknown   Kubelet stopped posting node status.
node19          Fatal        2020-11-19T10:31:37+08:00   NodeStatusUnknown   Kubelet stopped posting node status.
node2           Fatal        2020-11-19T10:31:14+08:00   NodeStatusUnknown   Kubelet stopped posting node status.
node3           Fatal        2020-11-27T17:36:53+08:00   KubeletNotReady     Container runtime not ready: RuntimeReady=false reason:DockerDaemonNotReady message:docker: failed to get docker version: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

NAME            SEVERITY     TIME                        MESSAGE
scheduler       Fatal        2020-11-27T17:09:59+08:00   Get http://127.0.0.1:10251/healthz: dial tcp 127.0.0.1:10251: connect: connection refused
etcd-0          Fatal        2020-11-27T17:56:37+08:00   Get https://192.168.13.8:2379/health: dial tcp 192.168.13.8:2379: connect: connection refused

NAMESPACE       SEVERITY     PODNAME                                          EVENTTIME                   REASON                MESSAGE
default         Warning      node3.164b53d23ea79fc7                           2020-11-27T17:37:34+08:00   ContainerGCFailed     rpc error: code = Unknown desc = Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
default         Warning      node3.164b553ca5740aae                           2020-11-27T18:03:31+08:00   FreeDiskSpaceFailed   failed to garbage collect required amount of images. Wanted to free 5399374233 bytes, but freed 416077545 bytes
default         Warning      nginx-b8ffcf679-q4n9v.16491643e6b68cd7           2020-11-27T17:09:24+08:00   Failed                Error: ImagePullBackOff
default         Warning      node3.164b5861e041a60e                           2020-11-27T19:01:09+08:00   SystemOOM             System OOM encountered, victim process: stress, pid: 16713
default         Warning      node3.164b58660f8d4590                           2020-11-27T19:01:27+08:00   OOMKilling            Out of memory: Kill process 16711 (stress) score 205 or sacrifice child Killed process 16711 (stress), UID 0, total-vm:826516kB, anon-rss:819296kB, file-rss:0kB, shmem-rss:0kB
insights-agent  Warning      workloads-1606467120.164b519ca8c67416            2020-11-27T16:57:05+08:00   DeadlineExceeded      Job was active longer than specified deadline
kube-system     Warning      calico-node-zvl9t.164b3dc50580845d               2020-11-27T17:09:35+08:00   DNSConfigForming      Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 100.64.11.3 114.114.114.114 119.29.29.29
kube-system     Warning      kube-proxy-4bnn7.164b3dc4f4c4125d                2020-11-27T17:09:09+08:00   DNSConfigForming      Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 100.64.11.3 114.114.114.114 119.29.29.29
kube-system     Warning      nodelocaldns-2zbhh.164b3dc4f42d358b              2020-11-27T17:09:14+08:00   DNSConfigForming      Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 100.64.11.3 114.114.114.114 119.29.29.29


NAMESPACE       SEVERITY     NAME                      KIND         TIME                        MESSAGE
kube-system     Warning      node-problem-detector     DaemonSet    2020-11-27T17:09:59+08:00   [livenessProbeMissing runAsPrivileged]
kube-system     Warning      calico-node               DaemonSet    2020-11-27T17:09:59+08:00   [runAsPrivileged cpuLimitsMissing]
kube-system     Warning      nodelocaldns              DaemonSet    2020-11-27T17:09:59+08:00   [cpuLimitsMissing runAsPrivileged]
default         Warning      nginx                     Deployment   2020-11-27T17:09:59+08:00   [cpuLimitsMissing livenessProbeMissing tagNotSpecified]
insights-agent  Warning      workloads                 CronJob      2020-11-27T17:09:59+08:00   [livenessProbeMissing]
insights-agent  Warning      cronjob-executor          Job          2020-11-27T17:09:59+08:00   [livenessProbeMissing]
kube-system     Warning      calico-kube-controllers   Deployment   2020-11-27T17:09:59+08:00   [cpuLimitsMissing livenessProbeMissing]
kube-system     Warning      coredns                   Deployment   2020-11-27T17:09:59+08:00   [cpuLimitsMissing]   

您可以參考常見(jiàn)FAQ內(nèi)容來(lái)優(yōu)化您的集群。

KubeEye 能做什么

  • KubeEye 可以發(fā)現(xiàn)你的集群控制平面的問(wèn)題,包括 kube-apiserver/kube-controller-manager/etcd 等。
  • KubeEye 可以幫助你檢測(cè)各種節(jié)點(diǎn)問(wèn)題,包括內(nèi)存/CPU/磁盤(pán)壓力,意外的內(nèi)核錯(cuò)誤日志等。
  • KubeEye 根據(jù)行業(yè)最佳實(shí)踐驗(yàn)證你的工作負(fù)載 yaml 規(guī)范,幫助你使你的集群穩(wěn)定。

檢查項(xiàng)

是/否 檢查項(xiàng) 描述
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png ETCDHealthStatus 如果 etcd 啟動(dòng)并正常運(yùn)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png ControllerManagerHealthStatus 如果 kubernetes kube-controller-manager 正常啟動(dòng)并運(yùn)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png SchedulerHealthStatus 如果 kubernetes kube-schedule 正常啟動(dòng)并運(yùn)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeMemory 如果節(jié)點(diǎn)內(nèi)存使用量超過(guò)閾值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png DockerHealthStatus 如果 docker 正常運(yùn)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeDisk 如果節(jié)點(diǎn)磁盤(pán)使用量超過(guò)閾值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png KubeletHealthStatus 如果 kubelet 激活狀態(tài)且正常運(yùn)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeCPU 如果節(jié)點(diǎn) CPU 使用量超過(guò)閾值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeCorruptOverlay2 Overlay2 不可用
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeKernelNULLPointer node 顯示 NotReady
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeDeadlock 死鎖是指兩個(gè)或兩個(gè)以上的進(jìn)程在爭(zhēng)奪資源時(shí)互相等待的現(xiàn)象。
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeOOM 監(jiān)控那些消耗過(guò)多內(nèi)存的進(jìn)程,尤其是那些消耗大量?jī)?nèi)存非??斓倪M(jìn)程,內(nèi)核會(huì)殺掉它們,防止它們耗盡內(nèi)存
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeExt4Error Ext4 掛載失敗
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeTaskHung 檢查D狀態(tài)下是否有超過(guò) 120s 的進(jìn)程
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeUnregisterNetDevice 檢查對(duì)應(yīng)網(wǎng)絡(luò)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeCorruptDockerImage 檢查 docker 鏡像
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeAUFSUmountHung 檢查存儲(chǔ)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeDockerHung Docker hang住, 檢查 docker 的日志
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetLivenessProbe 如果為pod中的每一個(gè)容器設(shè)置了 livenessProbe
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetTagNotSpecified 鏡像地址沒(méi)有聲明標(biāo)簽或標(biāo)簽是最新
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetRunAsPrivileged 以特權(quán)模式運(yùn)行 Pod 意味著 Pod 可以訪問(wèn)主機(jī)的資源和內(nèi)核功能
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetImagePullBackOff Pod 無(wú)法正確拉出鏡像,因此可以在相應(yīng)節(jié)點(diǎn)上手動(dòng)拉出鏡像
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetImageRegistry 檢查鏡像形式是否在相應(yīng)倉(cāng)庫(kù)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetCpuLimitsMissing 未聲明 CPU 資源限制
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodNoSuchFileOrDirectory 進(jìn)入容器查看相應(yīng)文件是否存在
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodIOError 這通常是由于文件 IO 性能瓶頸
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodNoSuchDeviceOrAddress 檢查對(duì)應(yīng)網(wǎng)絡(luò)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodInvalidArgument 檢查對(duì)應(yīng)存儲(chǔ)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodDeviceOrResourceBusy 檢查對(duì)應(yīng)的目錄和 PID
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodFileExists 檢查現(xiàn)有文件
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodTooManyOpenFiles 程序打開(kāi)的文件/套接字連接數(shù)超過(guò)系統(tǒng)設(shè)置值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodNoSpaceLeftOnDevice 檢查磁盤(pán)和索引節(jié)點(diǎn)的使用情況
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png NodeApiServerExpiredPeriod 將檢查 ApiServer 證書(shū)的到期日期少于30天
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetCpuRequestsMissing 未聲明 CPU 資源請(qǐng)求值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetHostIPCSet 設(shè)置主機(jī) IP
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetHostNetworkSet 設(shè)置主機(jī)網(wǎng)絡(luò)
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodHostPIDSet 設(shè)置主機(jī) PID
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodMemoryRequestsMiss 沒(méi)有聲明內(nèi)存資源請(qǐng)求值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetHostPort 設(shè)置主機(jī)端口
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetMemoryLimitsMissing 沒(méi)有聲明內(nèi)存資源限制值
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodNotReadOnlyRootFiles 文件系統(tǒng)未設(shè)置為只讀
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetPullPolicyNotAlways 鏡像拉策略并非總是如此
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodSetRunAsRootAllowed 以 root 用戶執(zhí)行
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodDangerousCapabilities 您在 ALL / SYS_ADMIN / NET_ADMIN 等功能中有危險(xiǎn)的選擇
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png PodlivenessProbeMissing 未聲明 ReadinessProbe
poYBAGJn0ryAV-uWAAANdZ02IzQ337.png privilegeEscalationAllowed 允許特權(quán)升級(jí)
? NodeNotReadyAndUseOfClosedNetworkConnection http 2-max-streams-per-connection
? NodeNotReady 無(wú)法啟動(dòng) ContainerManager 無(wú)法設(shè)置屬性 TasksAccounting 或未知屬性

未標(biāo)注的項(xiàng)目正在開(kāi)發(fā)中

添加自定義檢查規(guī)則

添加 npd 自定義檢查規(guī)則

  • 安裝 NPD 指令?ke install npd
  • 由 kubectl 編輯 configmap kube-system/node-problem-detector-config,
kubectl edit cm -n kube-system node-problem-detector-config
  • 在 configMap 的規(guī)則下添加異常日志信息,規(guī)則遵循正則表達(dá)式。

自定義最佳實(shí)踐規(guī)則

  • 準(zhǔn)備一個(gè)規(guī)則 yaml,例如,下面的規(guī)則將驗(yàn)證你的 pod 規(guī)范,以確保鏡像只來(lái)自授權(quán)的注冊(cè)處。
checks:
  imageFromUnauthorizedRegistry: warning

customChecks:
  imageFromUnauthorizedRegistry:
    promptMessage: When the corresponding rule does not match. Show that image from an unauthorized registry.
    category: Images
    target: Container
    schema:
      '$schema': http://json-schema.org/draft-07/schema
      type: object
      properties:
        image:
          type: string
          not:
            pattern: ^quay.io
  • 將上述規(guī)則保存為yaml,例如,rule.yaml。
  • 用 rule.yaml 運(yùn)行 KubeEye。
root:# ke diag -f rule.yaml --kubeconfig ~/.kube/config
NAMESPACE     SEVERITY    NAME                      KIND         TIME                        MESSAGE
default       Warning     nginx                     Deployment   2020-11-27T17:18:31+08:00   [imageFromUnauthorizedRegistry]
kube-system   Warning     node-problem-detector     DaemonSet    2020-11-27T17:18:31+08:00   [livenessProbeMissing runAsPrivileged]
kube-system   Warning     calico-node               DaemonSet    2020-11-27T17:18:31+08:00   [cpuLimitsMissing runAsPrivileged]
kube-system   Warning     calico-kube-controllers   Deployment   2020-11-27T17:18:31+08:00   [cpuLimitsMissing livenessProbeMissing]
kube-system   Warning     nodelocaldns              DaemonSet    2020-11-27T17:18:31+08:00   [runAsPrivileged cpuLimitsMissing]
default       Warning     nginx                     Deployment   2020-11-27T17:18:31+08:00   [livenessProbeMissing cpuLimitsMissing]
kube-system   Warning     coredns                   Deployment   2020-11-27T17:18:31+08:00   [cpuLimitsMissing]

文檔

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)