k8s 离线安装_阿里开源 k8s 事件通知服务
背景
在 Kubernetes 開源生態(tài)中,資源監(jiān)控有 metrics-server、Prometheus等,但這些監(jiān)控并不能實(shí)時(shí)推送 Kubernetes 事件,監(jiān)控準(zhǔn)確性也不足。當(dāng) kubernetes 集群中發(fā)生 Pod因?yàn)?OOM 、拉取不到鏡像、健康檢查不通過等錯(cuò)誤導(dǎo)致重啟,集群管理員其實(shí)是不知道的,因?yàn)?Kubernetes 有自我修復(fù)機(jī)制,Pod宕掉,可以重新啟動(dòng)一個(gè)。這樣讓集群管理員很難立即發(fā)現(xiàn)服務(wù)問題。
Kubernetes 事件
Kubernetes中,事件分為兩種:
- Warning事件:表示產(chǎn)生這個(gè)事件的狀態(tài)轉(zhuǎn)換是在非預(yù)期的狀態(tài)之間產(chǎn)生的
- Normal事件:表示期望到達(dá)的狀態(tài),和目前達(dá)到的狀態(tài)是一致的
例子:
$ kubectl get eventsLAST SEEN TYPE REASON OBJECT MESSAGE 58m Normal ScalingReplicaSet deployment/demo Scaled down replica set demo-8b85c64cb to 0 5m7s Warning Unhealthy pod/demo-79844f78b8-nd5jz Readiness probe failed: Get http://192.168.1.68:8080/healthCheck: dial tcp 192.168.1.68:8080: connect: connection refused如何監(jiān)聽k8s事件并通知?
阿里云開源 Kubernetes 事件離線工具 kube-eventer,能很好的解決這個(gè)問題。
kube-eventer 簡(jiǎn)介
kube-eventer 是一個(gè)事件發(fā)射器,它將 kubernetes 事件發(fā)送到接收器(例如dingtalk,sls,kafka,微信等)。kubernetes 的核心設(shè)計(jì)概念是狀態(tài)機(jī)。因此,Normal 當(dāng)轉(zhuǎn)移到所需狀態(tài)時(shí)會(huì)有事件 Warning。
kube-eventer 架構(gòu)圖
用法
下面是以 釘釘 做為接收器,通過釘釘機(jī)器人通知到相關(guān)人員或者相關(guān)群
- 獲取釘釘群機(jī)器人 Token,如下圖
- 安裝事件處理程序并配置接收器
- 查看釘釘告警事件
支持下列通知程序
項(xiàng)目地址
https://github.com/AliyunContainerService/kube-eventer參考鏈接
https://github.com/AliyunContainerService/kube-eventer您的關(guān)注是小站的動(dòng)力
歡迎大家關(guān)注交流,定期分享自動(dòng)化運(yùn)維、DevOps、Kubernetes、Service Mesh和Cloud Native
總結(jié)
以上是生活随笔為你收集整理的k8s 离线安装_阿里开源 k8s 事件通知服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: visual studio无法更新_微软
- 下一篇: sql if else语句_一道sql题