文章地址:https://www.jianshu.com/p/cf9011288ed6
与主题无关
shell operator是由Falnt公司开发并开源的。Flant公司是一家致力于提供解决所有基础设施问题的解决方案的公司。他们自称是提供DevOps-as-a-Service的服务。
需求
- 一个简单的任务:监听项目创建与删除事件,并发出告警。
- 一种简单的解决方法:定时脚本cron,每隔一段时间(如1min)获取对Openshift集群的所有项目,并将它与上次获取的结果值进行比较,得到新创建的项目及删除的项目
该方法的缺点:- 不及时
- 性能差,很多时候并没有操作项目,但仍然需要不断执行脚本
- 如果1min内即创建了新项目,又把这个项目删除了,则无法监测到
- 另一种解决方法:事件驱动,即订阅来自Kubernetes对象的事件,如果有对Project操作就触发告警。
很明显这种方法解决了定时任务的所有问题。 - 该很么做呢?会不会非常复杂。不会。使用shell-operator项目就可以非常简单地实现。shell-operator项目地址:https://github.com/flant/shell-operator
Shell Operator
实现部骤
- 创建shell-operator项目
$ oc new-project shell-operator
- 为该项目创建serviceAcco