小工具介紹:KubeWatch

前言

這次要介紹一個 Kubernetes 資源觀測工具誉裆,實(shí)時監(jiān)控 Kubernetes 集群中各種資源的新建、更新和刪除浅役,并實(shí)時通知到各種協(xié)作軟件/聊天軟件涛菠,目前支持的通知渠道有:

  • slack
  • hipchat
  • mattermost
  • flock
  • webhook

我這邊開發(fā)了釘釘?shù)耐ㄖ溃窃谏嫌?ISSUE#198 中提出的貢獻(xiàn)請求并沒有得到回應(yīng)瓶籽,所以這邊只能 fork 了代碼引润,然后自己進(jìn)行了開發(fā)十减,以支持釘釘通知告抄。

安裝

這里推薦使用 helm 進(jìn)行安裝撰茎,快速部署

helm install kubewatch stable/kubewatch \
--set rbac.create=true \
--set slack.channel='#YOUR_CHANNEL' \
--set slack.token='xoxb-YOUR_TOKEN' \
--set resourcesToWatch.pod=true \
--set resourcesToWatch.daemonset=true

如果想使用釘釘通知,則可以在 GitHub 上拉取我的代碼打洼,代碼中包含 helm chart 包龄糊,可直接進(jìn)行安裝

git clone https://github.com/sunny0826/kubewatch-chat.git
cd kubewatch-chat
helm install kubewatch kubewatch \
--set dingtalk.sign="XXX" \
--set dingtalk.token="XXXX-XXXX-XXXX"

釘釘配置

在釘釘中創(chuàng)建 智能群助手 ,之后

獲取 token

復(fù)制的 webhook 中 https://oapi.dingtalk.com/robot/send?access_token={YOUR_TOKEN}, {YOUR_TOKEN} 就是要填入的 token募疮。

安全設(shè)置

釘釘智能群助手在更新后新增了安全設(shè)置炫惩,提供三種驗(yàn)證方式 自定義關(guān)鍵詞 加簽 IP地址(段),這里推薦使用 IP地址(段)的方式阿浓,直接將 Kubernetes 集群的出口 IP 填入設(shè)置即可他嚷。同時也提供了 加簽 的方式,拷貝秘鑰搔扁,將其填入 dingtalk.sign 中爸舒。

項(xiàng)目配置

編輯 kubewatch/value.yaml 蟋字,修改配置

## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
# global:
#   imageRegistry: myRegistryName
#   imagePullSecrets:
#     - myRegistryKeySecretName

slack:
  enabled: false
  channel: ""
  token: "xoxb"

hipchat:
  enabled: false
  # room: ""
  # token: ""
  # url: ""
mattermost:
  enabled: false
  # channel: ""
  # url: ""
  # username: ""
flock:
  enabled: false
  # url: ""
webhook:
  enabled: false
  # url: ""
dingtalk:
  enabled: true
  token: ""
  sign: ""

# namespace to watch, leave it empty for watching all.
namespaceToWatch: ""

# Resources to watch
resourcesToWatch:
  deployment: true
  replicationcontroller: false
  replicaset: false
  daemonset: false
  services: false
  pod: true
  job: false
  persistentvolume: false

image:
  registry: docker.io
#  repository: bitnami/kubewatch
  repository: guoxudongdocker/kubewatch-chart
#  tag: 0.0.4-debian-9-r405
  tag: latest
  pullPolicy: Always
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ##
  # pullSecrets:
  #   - myRegistryKeySecretName

## String to partially override kubewatch.fullname template (will maintain the release name)
##
# nameOverride:

## String to fully override kubewatch.fullname template
##
# fullnameOverride:

rbac:
  # If true, create & use RBAC resources
  #
  create: true

serviceAccount:
  # Specifies whether a ServiceAccount should be created
  create: true
  # The name of the ServiceAccount to use.
  # If not set and create is true, a name is generated using the fullname template
  name:

resources: {}
  # limits:
  #   cpu: 100m
  #   memory: 300Mi
  # requests:
  #   cpu: 100m
  #   memory: 300Mi

# Affinity for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity: {}

# Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []

# Node labels for pod assignment
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}

podAnnotations: {}
podLabels: {}
replicaCount: 1

使用 value.yaml 安裝

git clone https://github.com/sunny0826/kubewatch-chat.git
cd kubewatch-chat
helm install my-release -f kubewatch/values.yaml

Slack 配置

Slack 為 kubewatch 默認(rèn)的通知軟件稿蹲,這里就不簡介 Slack 的安裝和注冊,直接從創(chuàng)建 APP 開始

創(chuàng)建一個 APP

進(jìn)去創(chuàng)建 APP 頁面

image

選擇 App NameDevelopment Slack Workspace

添加 Bot 用戶

image

添加 App 到 Workspace

image

獲取 Bot-token

image

通知效果

在 Slack 中鹊奖,創(chuàng)建 更新 刪除 分別以綠苛聘、黃和紅色代表

image

在釘釘中,我進(jìn)行了漢化

image
image

結(jié)語

對于 kubewatch 我們這里主要用作監(jiān)控各種 CronJob 的定時觸發(fā)狀態(tài)忠聚,已經(jīng) ConfigMap 和 Secrets 的狀態(tài)變化设哗,同時也觀察 HPA 觸發(fā)的彈性伸縮的狀態(tài),可以實(shí)時觀測到業(yè)務(wù)高峰的到來两蟀,是一個不錯的小工具网梢。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赂毯,隨后出現(xiàn)的幾起案子战虏,更是在濱河造成了極大的恐慌,老刑警劉巖党涕,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烦感,死亡現(xiàn)場離奇詭異,居然都是意外死亡膛堤,警方通過查閱死者的電腦和手機(jī)手趣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肥荔,“玉大人绿渣,你說我怎么就攤上這事朝群。” “怎么了中符?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵潜圃,是天一觀的道長。 經(jīng)常有香客問我舟茶,道長谭期,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任吧凉,我火速辦了婚禮隧出,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阀捅。我一直安慰自己胀瞪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布饲鄙。 她就那樣靜靜地躺著凄诞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忍级。 梳的紋絲不亂的頭發(fā)上帆谍,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音轴咱,去河邊找鬼汛蝙。 笑死,一個胖子當(dāng)著我的面吹牛朴肺,可吹牛的內(nèi)容都是我干的窖剑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼戈稿,長吁一口氣:“原來是場噩夢啊……” “哼西土!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鞍盗,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤需了,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后橡疼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體援所,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年欣除,在試婚紗的時候發(fā)現(xiàn)自己被綠了住拭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖滔岳,靈堂內(nèi)的尸體忽然破棺而出杠娱,到底是詐尸還是另有隱情,我是刑警寧澤谱煤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布摊求,位于F島的核電站,受9級特大地震影響刘离,放射性物質(zhì)發(fā)生泄漏室叉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一硫惕、第九天 我趴在偏房一處隱蔽的房頂上張望茧痕。 院中可真熱鬧,春花似錦恼除、人聲如沸踪旷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽令野。三九已至,卻和暖如春徽级,著一層夾襖步出監(jiān)牢的瞬間气破,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工灰追, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留堵幽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓弹澎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親努咐。 傳聞我的和親對象是個殘疾皇子苦蒿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文是在 Ubuntu 16.04 最新版基礎(chǔ)上安裝 Prometheus 監(jiān)控系統(tǒng),Ceph 版本為 Lumin...
    blackpiglet閱讀 10,456評論 3 17
  • 安裝docker # apt-get install apt-transport-https ca-certifi...
    拖鞋花短褲閱讀 1,266評論 0 0
  • 1.編寫一個簡單的helloworld 1.編寫helloworld的web app 創(chuàng)建spring項(xiàng)目渗稍,修改配...
    k7s閱讀 933評論 0 1
  • 明月窗外懸佩迟, 陪流浪人無眠。 不知千里傳思念竿屹, 是否靈犀一點(diǎn)报强。 海風(fēng)亦無邊, 團(tuán)圓夜人聲喧拱燃, 故鄉(xiāng)小溪流入海秉溉, 辛...
    江南玉閱讀 168評論 0 1
  • 共賞園中景,獨(dú)有水中情;扶手?jǐn)r桿漣漪漪,最愿舟中行召嘶! 早梅報她笑父晶,唯我孤憐憐;飛花濺起情人報,難再園中停弄跌。 一一農(nóng)...
    農(nóng)夫山人閱讀 94評論 0 0