5.6.2.5.2. 作为集群的部署运行
您可以作为一个部署在集群中运行 Operator 项目。
流程
运行以下
make命令来构建和推送 Operator 镜像。在以下步骤中修改IMG参数来引用您可访问的库。您可以获取在存储库站点(如 Quay.io)存储容器的帐户。构建镜像:
$ make docker-build IMG=<registry>/<user>/<image_name>:<tag>注意由 SDK 为 Operator 生成的 Dockerfile 需要为
go build明确引用GOARCH=amd64。这可以在非 AMD64 构架中使用GOARCH=$TARGETARCH。Docker 自动将环境变量设置为-platform指定的值。对于 Buildah,需要使用-build-arg来实现这一目的。如需更多信息,请参阅多个架构。将镜像推送到存储库:
$ make docker-push IMG=<registry>/<user>/<image_name>:<tag>注意镜像的名称和标签,如
IMG=<registry> /<user> /<image_name>:<tag>,在两个命令中都可在您的 Makefile 中设置。修改IMG ?= controller:latest值来设置您的默认镜像名称。
运行以下命令,将 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文件将在以后的步骤中应用。运行以下命令来部署 Operator:
$ make deploy IMG=<registry>/<user>/<image_name>:<tag>运行以下命令通过应用上一步中创建的
rbac.yaml文件向memcached-quarkus-operator-operator授予cluster-admin权限:$ oc apply -f rbac.yaml运行以下命令验证 Operator 是否正在运行:
$ oc get all -n default输出示例
NAME READY UP-TO-DATE AVAILABLE AGE pod/memcached-quarkus-operator-operator-7db86ccf58-k4mlm 0/1 Running 0 18s运行以下命令以应用
memcached-sample.yaml并创建memcached-samplepod:$ oc apply -f memcached-sample.yaml输出示例
memcached.cache.example.com/memcached-sample created
验证
运行以下命令,确认 pod 已启动:
$ oc get all输出示例
NAME READY STATUS RESTARTS AGE pod/memcached-quarkus-operator-operator-7b766f4896-kxnzt 1/1 Running 1 79s pod/memcached-sample-6c765df685-mfqnz 1/1 Running 0 18s