「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码

「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图
「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图

作者 | Alexander Kainz
译者 | 天道酬勤 , 责编 | Carol
出品 | AI科技大本营(ID:rgznai100)
ChatOps可以让你使用基于聊天的接口来管理DevOps任务 。 本文主要让我们了解如何使用Slack构建一个简单的机器人来控制Kubernetes集群 。 最后我们可以使用Slack聊天消息查看Kubernetes日志和信息 。 不需要Kubernetes的先验知识 , 也不需要Slack API 。
那么 , 首先我们来探索一下什么是ChatOps 。
「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图

「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图

什么是ChatOps
ChatOps是一种使用聊天消息执行DevOps任务的方式 , 例如部署、监视和系统管理 。 例如 , 将日志消息发送到聊天机器人会检索最新的日志消息 , 或者可以从聊天消息触发部署 。
下面描述了一些重要的优点:

  • 与机器人聊天 , 这是一种非常人性化的方法来管理基础结构 。@chatbot日志比kubectl日志hello-minikube-64b64df8c9-fkb6w -ndefault更容易理解 。
  • 它可以是共享聊天的一部分 , 以便人们可以协作和共享信息 。 这也提供了已执行命令和动作的记录 。
  • 它可以帮助安全地克服网络和防火墙的限制 , 使在家中或旅途中工作成为可能 。
  • 通过DevOps工具的统一接口 , 使用相同的接口管理Kubernetes和OpenShift它可以简化和保护基础设施的任务 , 因此开发人员可以自行完成 。

「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图

设置
本文介绍了使用以下方法构建最小的聊天机器人:
  • Minikube作为Kubernetes环境 。
  • Kubernetes被标记为“生产级容器编排” 。Kubernetes允许我们部署、管理和扩展Docker映像 。
  • Minikube是用于在开发机器上运行Kubernetes的集成解决方案 。
  • Slack作为聊天服务器 。
  • Python来实现实际的ChatOps服务器 。

「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码
本文插图

Minikube
为了在开发机器上快速运行Kubernetes , Minikube在单个虚拟机映像中实现了Kubernetes集群 。 你可以在此处找到详细的安装说明:
https://kubernetes.io/docs/setup/learning-environment/minikube/#installation
作者要将其安装在自己的macOs系统上 , 并使用VirtualBox作为虚拟化驱动程序 。 你可以在这里找到VirtualBox:https://www.virtualbox.org/wiki/Downloads
安装VirtualBox之后 , 可以使用以下命令将Minikube安装在macO上 。 它还将部署一个示例应用程序 。 这里假设你已安装了homebrew软件:https://brew.sh/ 。
brew install minikube # install via Homebrew
minikube start - driver=virtualbox # start and use Virtualbox
kubectl create deployment hello-minikube-image=k8s.gcr.io/echoserver:1.10 # install sample app
要验证安装使用 , 请执行以下操作:kubectl get all , 结果应显示示例pod , 比如pod / hello-minikube-64b64df8c9-fkb6w 。
「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码


推荐阅读