1.创建

operator-sdk new redis-operator-test

2.添加api

operator-sdk add api --api-version=app.example.com/v1alpha1 --kind=RedisService

3.添加controller

operator-sdk add controller --api-version=app.example.com/v1alpha1 --kind=RedisService

4.调度器生成代码

operator-sdk generate k8s

5.添加api部分自定义资源
在这里插入图片描述

6.自定义资源(deployment和service)
在这里插入图片描述
在这里插入图片描述

7.逻辑代码部分

7.1 检查自定义资源是否存在,不存在删除下面资源,保证资源可控

7.2 创建资源

7.3 检查lebal变化更新资源

在这里插入图片描述

8.封装自定义资源的接口

封装cr的增删改查接口,方便paas集成,通过http操作资源

在这里插入图片描述

链接:

http://gitlab.shein.com:8088/caihuayang/redis-operator-test.git

https://blog.gmem.cc/extend-kubernetes-with-custom-resources

https://github.com/kubernetes/client-go/blob/master/kubernetes/typed/core/v1/pod.go

https://github.com/martin-helmich/kubernetes-crd-example/blob/master/main.go

Logo

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

更多推荐