如果没有真正的自动化,你就无法充分发挥容器的潜力。这就是Kubernetes Operator越来越重要的原因。
Kubernetes的一个关键优势是,它使现代应用程序和基础设施带来的许多运维工作实现自动化。而Kubernetes Operator被认为是实现这一优势的重要手段。
什么是Kubernetes Operator?
让我们回顾一下,什么是Kubernetes Operator,并给出它们如何工作的示例。
“Operator是控制用户资源的Kubernetes API的客户端。”Nexient的DevOps主管Matthew Dresden说,“此功能通过监控事件而不编辑Kubernetes代码,实现部署、备份和升级等任务的自动化。”
这是一个重要的功能,尤其是在运行容器化的工作负载和服务时——这是一条实现在Kubernetes上运行的应用程序更完全自动化的途径。
正如红帽产品经理Rob Szumski在博客中指出的那样,“Operator的关键属性是对应用程序的主动、持续管理,包括故障转移、备份、升级和自动缩放,就像云服务一样。当然,如果你的应用程序不存储状态数据,则备份可能不适用,但日志处理或警报会很重要。Operator的用户体验目标是通过专家提供的知识获得类似云的自我管理体验。”
如果你不能完全自动化,那你就浪费了容器和其他云原生技术的潜力。
举个例子
Nexient的Dresden分享了一个Operator工作的场景:“如果Kubernetes检测到一个节点的丢失,Operator可以自动地从另一个在Kubernetes中运行的集群节点复制数据,同时保持一个法定数,使集群返回到期望的奇偶校验级别。”这个例子可能相当简单,但其意义不小。
Dresden说:“Operator在全面生产中十分重要。想