16.Operator控制器

16.Operator控制器

1.为什么需要Operator?

我们前面讲了很多很多基础的资源对象和控制器,如pod、deployment、service、deployment等等,仿佛已经满足了我们大多数情况的场景和需求了,那我们为什么还需要operator呢?

我们再来回顾一下,无状态应用(如nginx)的扩容是最方便的,我们只要使用deployment控制器中的ReplicaSet字段申明,我们需要几个数量的nginx节点即可。

那对于有状态应用呢?

此时你可能想到,StatefulSet控制器,没错!他的确能够帮助我们解决有状态应用基础的扩缩容动作和行为逻辑,但是还有大多数场景,他是完成不了的。

如mysql主从集群、多主集群的扩缩容、备份、数据迁移等包含一系列传统架构中,需要运维人员介入,并通过脚本处理的复杂操作。

另外,在Kubernetes上运维人员通常喜欢使用自动化来处理重复的任务。

Operator控制器就是将运维人员的知识、操作和预期翻译成代码片段,如果你了解jenkins,就好比jenkins file、DSL和groovy。
这是我一直坚信和推崇的一个理念:
“基础设施即代码”(Infrastructure as Code)

正是如此,他们每个节点具有不同的角色配置文件、启动顺序、依赖性和自动化操作。

此时,State

上一篇:Web提速:避免php session拖慢运行速度


下一篇:HTML5一个菜单居中的代码