为什么要这样做?
运营商是2016年CoreOS博客中公开的一种设计模式。操作员的目标是将操作知识应用到软件中。以前,这些知识只存在于管理员的头脑中,包括各种shell脚本或自动化软件(如Ansible)的组合。它在Kubernetes集群之外,很难集成。通过运营商,CoreOS改变了这一点。
运营商通过与Kubernetes概念和api进行本机集成,在Kubernetes集群内运行的一个软件中实现并自动化常见的第1天(安装、配置等)和第2天(重新配置、更新、备份、故障转移、还原等)活动。我们称之为Kubernetes本机应用程序。使用运算符,您可以停止将应用程序视为pod、部署、服务或配置映射等原语的集合,而是将其视为只公开对应用程序有意义的旋钮的单个对象。
我们通过下图可以看到operator对比ansible和helm而言可以提供的功能的不同之处。那么接下来,本文将记录我个人在mac上实践k8s operator的一次笔记,目标定在启动一个创建busybox的operator。
图文步骤
环境
本机的docker和k8s,如果卡在k8s starting的话,请参考https://github.com/gotok8s/k8s-docker-desktop-for-mac.git