首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Errbot 入门(3)

通过 Errbot 控制 Kubernetes

前面两篇分别讲了 Errbot 的简单启动和 Slack 的集成。这一篇做个结尾,用 Errbot 来查询 Kubernetes 的状态。

之前使用的 Docker 镜像中,已经集成了 Kubernetes 的 Python 客户端,所以这里只要在 Python 中引用,就可以操作了。

这里实现两个功能,第一个是列出 kubeconfig 文件中的 context,第二个是列出集群 Node 的健康状况。

准备工作

首先在 Errbot 的加载卷目录中新建目录,并在其中放置一个可用的 kubeconfig 文件。例如:

/usr/local/var/volumes/errbot/kubeconfig/config

当然,要确保 Errbot 到 Kubernetes 的网络连接是有效的。

Context 列表

部分引入了几个常用的 Bot 开发支持库,以及 Kubernetes API 库。

接下来创建新的 Bot 插件。

修饰其中的方法,也就是生成了一个命令。

注释内容会出现在命令列表的说明中。

内容很简单,调用 kubernetes API 的方法,列出其中所有的 context。

在这里用于输出多行数据到聊天室。

使用命令重启 Bot 之后,输入查看我们的插件,会看到列表中多出这样的内容:

执行,Bot 读取配置文件,返回了其中的 Context 名称列表:

接下来加入列出 Node,并查看健康状态代码

,这一注解的意思是对聊天内容进行分拆,分拆产生的列表保存在之中。

对 Node 的 Status 对象的 Conditions 列表进行解析,如果最后一个状态不是 Ready,则输出不健康 Node。

打完收工

在我们常见的工作场景中,结合各种系统的 API,可以利用 Errbot 在同一个聊天室中做很多操作,例如:

触发 Jenkins 构建

对 ElasticSearch、Zabbix、Prometheus 进行查询

管理 Kubernetes 负载。

等等等等。

实际上除了这两种看起来比较古板的交流方式之外,还有看起来舒服一点的正则表达式匹配方式,然而,目前更大的热点是 AI,有了这种支持,个人觉得就不必挖空心思的琢磨分词和模式的问题了,做好和第三方的链接就可以了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123G0D9EO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券