5.6. 基于 Java 的 Operator
5.6.1. 基于 Java 的 Operator 的 Operator SDK 入门 复制链接链接已复制到粘贴板!
基于 Java 的 Operator SDK 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
如需演示使用 Operator SDK 提供的工具和库来设置和运行基于 Java 的 Operator 的基本知识,Operator 开发人员可以为 Memcached 构建基于 Java 的 Operator 示例,一个分布式键值存储,并将它部署到集群中。
5.6.1.1. 先决条件 复制链接链接已复制到粘贴板!
5.6.1.2. 创建并部署基于 Java 的 Operator 复制链接链接已复制到粘贴板!
您可以使用 Operator SDK 为 Memcached 构建和部署简单的基于 Java 的 Operator。
流程
创建一个项目。
创建您的项目目录:
$ mkdir memcached-operator切换到项目所在的目录:
$ cd memcached-operator使用
quarkus插件运行operator-sdk init命令以初始化项目:$ operator-sdk init \ --plugins=quarkus \ --domain=example.com \ --project-name=memcached-operator
创建 API。
创建简单的 Memcached API:
$ operator-sdk create api \ --plugins quarkus \ --group cache \ --version v1 \ --kind Memcached构建并推送 Operator 镜像。
使用默认的
Makefile目标来构建和推送 Operator。使用镜像的 pull spec 设置IMG,该 spec 使用您可推送到的 registry:$ make docker-build docker-push IMG=<registry>/<user>/<image_name>:<tag>运行 Operator。
安装 CRD:
$ make install将项目部署到集群中。将
IMG设置为您推送的镜像:$ make deploy IMG=<registry>/<user>/<image_name>:<tag>
创建示例自定义资源(CR)。
创建一个示例 CR:
$ oc apply -f config/samples/cache_v1_memcached.yaml \ -n memcached-operator-system查看 CR 协调 Operator:
$ oc logs deployment.apps/memcached-operator-controller-manager \ -c manager \ -n memcached-operator-system
删除 CR
运行以下命令来删除 CR:
$ oc delete -f config/samples/cache_v1_memcached.yaml -n memcached-operator-system清理。
运行以下命令清理在此流程中创建的资源:
$ make undeploy
5.6.1.3. 后续步骤 复制链接链接已复制到粘贴板!
- 如需更深入地了解如何构建基于 Java 的 Operator,请参阅基于 Java 的 Operator SDK 指南。