BotKube

BotKube是一个用于监控和调试Kubernetes集群的消息传递工具。BotKube可以与多个消息传递平台(如Slack、Mattermost或Microsoft Teams)集成,以帮助您监控Kubernetes集群、调试关键部署,并通过对Kubernetes资源进行检查来提供标准实践建议。

安装BotKube

1.本文使用slack作为消息接收平台。您需要自己注册slack并获得访问令牌。

XOXB-2169032185141-2256603089394-qelwxe 0 sutwfdlwnk 6 vbw 112、将BotKube用户添加到Slack频道
在您的Slack工作区中安装BotKube应用程序后,您会看到一个名为“BotKube”的新机器人用户添加到您的工作区中。将机器人添加到您想要接收通知的Slack通道。
(可在频道邀请@BotKube添加)

3.使用helm将BotKube安装到kubernrtes集群。

helmepoaddinforacloudiohtps://infracloudio . github . io/chartshellmrepoupdate请自行更换

# helm list-nbotkubenamespacerevision updatedstatuschartappversionbotbukebotkube 12021-07-0910:41:35.813245746+0800 csdeployedbotkube-v 0 . 12 . 1v 0 . 12 . 1 # kubetlgetall-nbotkubenamereadystatusrestastersagepod/bot kube-747 ff 4d C5 d-795hz 1/1 running 02d 21如果需要修改配置,可以更新botkube-configmap。默认设置如下。

建议:true resources:-events:-create-delete-error name:v1/podsnamespaces:ignore:-null include:-all-events:-create-delete-error name:v1/services namespaces:ignore:-null include:-all-events:-create-update-delete-error name:apps/v1/deployments namespaces:ignore:-null include:-all update setting:fields:-spec . template . spec . containers[*]。image-status . ailablereplicasincludediff:true-events:-create-update-delete-error name:apps/v1/statefullsetsnamespace:ignore:-null include:-all update setting:fields:-spec . template . spec . containers[*]。image-status . readyreplicasincludediff:true-events:-create-delete-error name:networking . k8s . io/v1beta 1/Ingres snamespace:ignore:-null include:-all-events:-create-delete-error name:v1/namespaces:ignore:-null include:-all-events:-create-delete-error name:v1/namespaces:ignore:-null include:-all-events:-create-delete-error name:v1/persistentvolumesnamespace:ignore:-null include:-all-eventsimage-status . numberreadyincludediff:true-events:-create-update-delete-error name:batch/v1/jobs namespaces:ignore:-null include:-all update setting:fields:-spec . template . spec . containers[*]。图像-状态.条件[*]。type include diff:true-events:-create-delete-error name:RBAC . authorization . k8s . io/v1/roles namespaces:ignore:-null include:-all-events:-create-delete-error name:RBAC . authorization . k8s . io/v1/rolebindings namespaces:ignore:-null include:-all-events:-create-delete-error name:-all-authorization . k8s . io/v1/clusterrolebindings namespaces:-null include:-all-events:-create-delete-error name:RBAC . authorization1.首先ping BotKube并查看输出。

2.查看可用的命令

3.以对话的形式执行kubectl命令,比如get pod,更多命令可以自己测试…

4.验证slack收集了kubernetes事件信息,比如创建一个新的pod。这里以nginx为例
我直接用lens连接集群,创建一个名为nginx的部署。

直接创建就可以了,然后你来到slack就可以看到下面的信息,也就是botkube把这个创建事件消息推送到你的slack频道。

现在删除部署,再次观看slack频道,收到删除的消息。

更多好玩的功能,请自己体验。。。