3.2.2. 使用 CLI 部署 Operator


本节中的步骤演示了如何使用 OpenShift 命令行界面(CLI)在 OpenShift 项目中部署用于 AMQ Broker 7.8 的 Operator 的最新版本。

先决条件

  • 您必须已经为 Operator 部署准备了 OpenShift 项目。请参阅 第 3.2.1 节 “获取 Operator 代码”
  • 从 AMQ Broker 7.3 开始,您可以使用新版本的红帽生态系统目录访问容器镜像。此新版本的 registry 要求您成为经过身份验证的用户,然后才能访问镜像。在按照本节中的步骤进行操作前,您必须首先完成 Red Hat Container Registry 身份验证 中描述的步骤。
  • 如果您要使用持久性存储部署代理,且没有 OpenShift 集群中的容器原生虚拟化存储,则需要手动置备持久性卷(PV),并确保它们可以被 Operator 声明。例如,如果要创建带有持久性存储(即,通过设置自定义资源中的 persistenceEnabled=true )的两个代理集群,则需要有两个 PV 可用。默认情况下,每个代理实例都需要 2 GiB 存储。

    如果您在自定义资源中指定 persistenceEnabled=false,则部署的代理 将使用临时存储。临时存储意味着每次重启代理 Pod 时,任何现有数据都会丢失。

    有关置备持久性存储的更多信息,请参阅:

步骤

  1. 在 OpenShift 命令行界面(CLI)中,以集群管理员身份登录 OpenShift。例如:

    $ oc login -u system:admin
    Copy to Clipboard Toggle word wrap
  2. 切换到您之前为 Operator 部署准备的项目。例如:

    $ oc project <project_name>
    Copy to Clipboard Toggle word wrap
  3. 切换到之前在之前提取 Operator 安装存档时创建的目录。例如:

    $ cd ~/broker/operator/amq-broker-operator-7.8.5-ocp-install-examples
    Copy to Clipboard Toggle word wrap
  4. 部署 Operator 中包含的 CRD。在部署和启动 Operator 之前,您必须在 OpenShift 集群中安装 CRD。

    1. 部署主代理 CRD。

      $ oc create -f deploy/crds/broker_activemqartemis_crd.yaml
      Copy to Clipboard Toggle word wrap
    2. 部署地址 CRD。

      $ oc create -f deploy/crds/broker_activemqartemisaddress_crd.yaml
      Copy to Clipboard Toggle word wrap
    3. 部署 scaledown controller CRD。

      $ oc create -f deploy/crds/broker_activemqartemisscaledown_crd.yaml
      Copy to Clipboard Toggle word wrap
  5. 将与红帽生态系统目录中用于身份验证的帐户关联的 pull secret 与 OpenShift 项目 的默认deployerbuilder 服务帐户链接。

    $ oc secrets link --for=pull default <secret_name>
    $ oc secrets link --for=pull deployer <secret_name>
    $ oc secrets link --for=pull builder <secret_name>
    Copy to Clipboard Toggle word wrap
  6. 在您下载并提取的 Operator 归档的部署目录中,打开 operator.yaml 文件。

    注意

    operator.yaml 文件中,Operator 使用一个由 安全 Hash Algorithm (SHA)值表示的镜像。注释行以数字符号(#)符号开头,表示 SHA 值对应于特定的容器镜像标签。

  7. 部署 Operator。

    $ oc create -f deploy/operator.yaml
    Copy to Clipboard Toggle word wrap

    在 OpenShift 项目中,Operator 会启动新的 Pod。

    在 OpenShift Container Platform Web 控制台中,Operator Pod 的 Events 选项卡中的信息确认 OpenShift 已部署了 Operator 镜像,已将新容器分配给 OpenShift 集群中的某个节点,并且已启动了新的容器。

    另外,如果您点击 Pod 中的 Logs 选项卡,输出应包括以下行:

    ...
    {"level":"info","ts":1553619035.8302743,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemisaddress-controller"}
    {"level":"info","ts":1553619035.830541,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemis-controller"}
    {"level":"info","ts":1553619035.9306898,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemisaddress-controller","worker count":1}
    {"level":"info","ts":1553619035.9311671,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemis-controller","worker count":1}
    Copy to Clipboard Toggle word wrap

    前面的输出确认新部署的 Operator 与 Kubernetes 通信,代理和寻址的控制器正在运行,并且这些控制器已启动了一些 worker。

注意

建议您仅在给定的 OpenShift 项目中部署 AMQ Broker Operator 的单个实例。不建议将 Operator 部署的 spec.replicas 属性设置为大于 1 的值,或者 不要 在同一项目中多次部署 Operator。

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat