5.6.2.5. 运行 Operator
您可以使用 Operator SDK CLI 构建和运行 Operator:
- 作为 Go 程序在集群外本地运行。
- 作为集群的部署运行。
- 捆绑 Operator,并使用 Operator Lifecycle Manager(OLM)在集群中部署。
5.6.2.5.1. 在集群外本地运行 复制链接链接已复制到粘贴板!
您可以作为集群外的 Go 程序运行您的 Operator 项目。这可以加快部署和测试的速度,对于开发非常有用。
流程
运行以下命令来编译 Operator:
$ mvn clean install输出示例
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.193 s [INFO] Finished at: 2021-05-26T12:16:54-04:00 [INFO] ------------------------------------------------------------------------运行以下命令,将 CRD 安装到 default 命名空间:
$ oc apply -f target/kubernetes/memcacheds.cache.example.com-v1.yml输出示例
customresourcedefinition.apiextensions.k8s.io/memcacheds.cache.example.com created如下例所示,名为
rbac.yaml的文件:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: memcached-operator-admin subjects: - kind: ServiceAccount name: memcached-quarkus-operator-operator namespace: <operator_namespace> roleRef: kind: ClusterRole name: cluster-admin apiGroup: ""运行以下命令通过应用
rbac.yaml文件向memcached-quarkus-operator-operator授予cluster-admin权限:$ oc apply -f rbac.yaml输入以下命令来运行 Operator:
$ java -jar target/quarkus-app/quarkus-run.jar注意java命令将运行 Operator 并保持运行,直到您结束进程。您需要另一个终端来完成这些命令的其余部分。使用以下命令应用
memcached-sample.yaml文件:$ kubectl apply -f memcached-sample.yaml输出示例
memcached.cache.example.com/memcached-sample created
验证
运行以下命令,确认 pod 已启动:
$ oc get all输出示例
NAME READY STATUS RESTARTS AGE pod/memcached-sample-6c765df685-mfqnz 1/1 Running 0 18s