简单点理解所谓云里雾里的operator其实就是两个部分:

控制器 + 用户自定义资源

控制器:其实ReplicaSet,deployment,statefulset等就都是控制器,只是operator是一个用户自己实现的控制器(可以是go程序也可以是脚本,本质就是调用k8sAPI的小程序),他可以部署在k8s集群中

用户自定义资源:可以理解为我们平时写ReplicaSet,deployment,statefulset等yaml时,出现的字段名以及这些字段的类型,长度等等的定义

部署一个operator应用最简单就分三步(以mysql集群为例子):

1.部署自定义资源

​
kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml

​

2.部署控制器

​
kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-operator.yaml


​

3.部署mysql应用

​
kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/samples/sample-cluster.yaml


​

如果还不明白,打开上述几个yaml文件,看下就明白是怎么回事了

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐