美文网首页
2021-04-30

2021-04-30

作者: 文茶君 | 来源:发表于2021-05-01 16:38 被阅读0次

    生成了operator,对其基础文件进行讲解


    cmd里manager中main.go可以不用修改
    deploy里operator.yaml就是部署的operator。启动的Deployment,生成的就是一个pod
    role.yaml角色rbac
    role_binding角色绑定,使用service_account.yaml
    go.mod
    引入
    eg

    module kubesphere.io/fluentbit-operator
    
    go 1.13
    
    require (
        github.com/go-logr/logr v0.1.0
        github.com/go-openapi/errors v0.19.2
        github.com/joho/godotenv v1.3.0
        github.com/json-iterator/go v1.1.8
        github.com/onsi/ginkgo v1.11.0
        github.com/onsi/gomega v1.8.1
        k8s.io/api v0.17.2
        k8s.io/apimachinery v0.17.2
        k8s.io/client-go v0.17.2
        k8s.io/klog v1.0.0
        sigs.k8s.io/controller-runtime v0.5.2
    )
    

    需要在go env设置为auto模式
    GO11MODULE="auto"
    自动配置相应的包

    开发Operator流程
    operator-sdk----->添加CRD---->添加controller---->Build&Run

    运行创建的operator
    operator-sdk add --api-version=k8s.imooc.com/v1alpha1 --kind=ImoocPod

    operator-sdk add --api-version=k8s.imooc.com(自己命名)/v1alpha1(版本号) --kind=ImoocPod

    会自己生成k8s/v1alpha1文件夹,有doc.go,imoocpod.type.go,register.go,zz_generated.deepcopy.go四个文件
    添加controller
    operator-sdk add controller --api-version=k8s.imooc.com/v1alpha1 --kind=ImoocPod

    会加imooccpod_controller.go文件夹
    开发controller

    相关文章

      网友评论

          本文标题:2021-04-30

          本文链接:https://www.haomeiwen.com/subject/cscnrltx.html