5.3.2.5.3. 作为集群的部署运行
您可以作为一个部署在集群中运行 Operator 项目。
先决条件
- 通过更新项目以使用支持的镜像,准备基于 Go 的 Operator 在 OpenShift Container Platform 上运行
流程
运行以下
make
命令来构建和推送 Operator 镜像。在以下步骤中修改IMG
参数来引用您可访问的库。您可以获取在存储库站点(如 Quay.io)存储容器的帐户。构建镜像:
$ make docker-build IMG=<registry>/<user>/<image_name>:<tag>
注意由 SDK 为 Operator 生成的 Dockerfile 明确引用了
go 构建
的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
值来设置您的默认镜像名称。
运行以下命令来部署 Operator:
$ make deploy IMG=<registry>/<user>/<image_name>:<tag>
默认情况下,这个命令会创建一个带有 Operator 项目名称的命名空间,格式为
<project_name>-system
,用于部署。此命令还从config/rbac
安装 RBAC 清单。验证 Operator 是否正在运行:
$ oc get deployment -n <project_name>-system
输出示例
NAME READY UP-TO-DATE AVAILABLE AGE <project_name>-controller-manager 1/1 1 1 8m