Kubernetes资源观测工具怎么用
这篇文章主要介绍Kubernetes资源观测工具怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
前言
这次要介绍一个 Kubernetes 资源观测工具,实时监控 Kubernetes 集群中各种资源的新建、更新和删除,并实时通知到各种协作软件/聊天软件,目前支持的通知渠道有:
slack
hipchat
mattermost
flock
webhook
我这边开发了钉钉的通知渠道,但是在上游 ISSUE#198 中提出的贡献请求并没有得到回应,所以这边只能 fork 了代码,然后自己进行了开发,以支持钉钉通知。
安装
这里推荐使用 helm 进行安装,快速部署
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 包,可直接进行安装
git clone https://github.com/sunny0826/kubewatch-chat.gitcd kubewatch-chathelm install kubewatch kubewatch \--set dingtalk.sign="XXX" \--set dingtalk.token="XXXX-XXXX-XXXX"
钉钉配置
在钉钉中创建 智能群助手
,之后
获取 token
复制的 webhook 中 https://oapi.dingtalk.com/robot/send?access_token={YOUR_TOKEN}
, {YOUR_TOKEN}
就是要填入的 token。
安全设置
钉钉智能群助手在更新后新增了安全设置,提供三种验证方式 自定义关键词
加签
IP地址(段)
,这里推荐使用 IP地址(段)的方式
,直接将 Kubernetes 集群的出口 IP 填入设置即可。同时也提供了 加签
的方式,拷贝秘钥,将其填入 dingtalk.sign
中。
项目配置
编辑 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:# - myRegistryKeySecretNameslack: 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 watchresourcesToWatch: deployment: true replicationcontroller: false replicaset: false daemonset: false services: false pod: true job: false persistentvolume: falseimage: 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: trueserviceAccount: # 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.gitcd kubewatch-chathelm install my-release -f kubewatch/values.yaml
Slack 配置
Slack 为 kubewatch 默认的通知软件,这里就不简介 Slack 的安装和注册,直接从创建 APP 开始
创建一个 APP
进去创建 APP 页面
选择 App Name
和 Development Slack Workspace
添加 Bot 用户
添加 App 到 Workspace
获取 Bot-token
通知效果
在 Slack 中,创建
更新
删除
分别以绿、黄和红色代表
在钉钉中,我进行了汉化
结语
对于 kubewatch 我们这里主要用作监控各种 CronJob 的定时触发状态,已经 ConfigMap 和 Secrets 的状态变化,同时也观察 HPA 触发的弹性伸缩的状态,可以实时观测到业务高峰的到来,是一个不错的小工具。
以上是"Kubernetes资源观测工具怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!