使用 operator 创建 AMQ 互连站点

Red Hat AMQ 2021.Q2

用于 AMQ Interconnect 2.0 TECHNOLOGY PREVIEW

摘要

本指南描述了如何使用 Skupper operator。

前言

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。如需了解更多详细信息,请参阅 CTO Chris Wright 信息

重要

红帽生产服务级别协议(SLA)不支持 AMQ Interconnect 2.0 技术预览功能,且可能无法完成。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

第 1 章 在 OpenShift 中使用 Skupper Operator

Skupper Operator 在 OpenShift 中创建和管理 AMQ Interconnect 站点。

部署 Skupper Operator 时有两个选项:

所有命名空间
集群中创建的所有 Skupper 站点共享一个用于协调的通用站点控制器 pod。
特定命名空间
应用 site ConfigMap 的每个命名空间中都会创建一个站点控制器 pod。这等同于 skupper init,如 使用 CLI 配置 AMQ 互连站点 中所述。

您可以使用以下任一方法部署 Skupper Operator:

注意

安装 Operator 需要 OpenShift 集群的管理员级别的特权。

安装 Operator 后,您可以通过部署 ConfigMap 来创建站点,如下所述 第 1.3 节 “使用 Skupper Operator 创建站点”

1.1. 使用 CLI 安装 Operator

本节中的步骤显示如何使用 kubectl 命令行界面(CLI)在给定 OpenShift 集群中安装和部署 Skupper Operator 的最新版本。

流程

  1. 以集群管理员身份登录 OpenShift。例如:

    $ kubectl login -u system:admin
  2. 完成 Red Hat Container Registry 身份验证 中描述的步骤。
  3. 为所有命名空间创建 operator 订阅:

    1. 使用以下内容创建一个名为 subscription.yaml 的文件:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: skupper-operator
        namespace: openshift-operators
      spec:
        channel: alpha
        installPlanApproval: Automatic
        name: skupper-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        startingCSV: skupper-operator.v0.6.0
    2. 应用订阅 YAML:

      $ kubectl apply -f subscription.yaml
  4. 要为特定命名空间创建 operator 订阅,您必须在该命名空间中创建一个 Operator 组,然后创建订阅:

    1. 使用以下内容创建一个名为 operator-group.yaml 的文件:

      kind: OperatorGroup
      apiVersion: operators.coreos.com/v1
      metadata:
        name: skupper-operator
        namespace: my-namespace
      spec:
        targetNamespaces:
        - my-namespace

      其中 my-namespace 是您要创建站点的命名空间的名称。

    2. 应用 Operator 组 YAML:

      $ kubectl apply -f operator-group.yaml
    3. 使用以下内容创建一个名为 subscription.yaml 的文件:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: skupper-operator
        namespace: my-namespace
      spec:
        channel: alpha
        installPlanApproval: Automatic
        name: skupper-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        startingCSV: skupper-operator.v0.6.0

      其中 my-namespace 是您要创建站点的命名空间的名称。

    4. 应用订阅 YAML:

      $ kubectl apply -f subscription.yaml

1.2. 使用 OpenShift 控制台安装 Skupper Operator

本节中的步骤演示了如何使用 OperatorHub 在给定 OpenShift 命名空间中安装和部署 Skupper Operator 的最新版本。

在 OpenShift 4.1 及更高版本中,Operator Lifecycle Manager (OLM)可帮助用户安装、更新并普遍管理所有 Operator 以及在用户集群中运行的关联服务的生命周期。Operator Framework 是 Operator Framework 的一部分,后者是一个开源工具包,用于以有效、自动化且可扩展的方式管理 Kubernetes 原生应用程序(Operator)。

先决条件

  • 使用 cluster-admin 帐户访问 OpenShift 4.1 集群。

流程

  1. 在 OpenShift Web 控制台中,导航到 OperatorsOperatorHub
  2. 从可用的 Operator 列表中选择 Skupper Operator,然后点 Install
  3. Operator Installation 页面中,有两个 Installation 模式 选项:

    • 集群中的所有命名空间
    • 集群上的特定命名空间

      在本例中,选择 A specific namespace on the cluster

  4. 选择您要安装 Operator 的命名空间,然后点 Install

    Installed Operators 页会显示 Operator 安装的状态。

  5. 验证 AMQ Interconnect Operator 是否已显示并等待 Status 更改为 Succeeded
  6. 如果安装不成功,请对错误进行故障排除:

    1. 点击 Installed Operators 页面中的 Skupper Operator
    2. 选择 Subscription 选项卡,并查看任何失败或错误。

有关安装 Operator 的更多信息,请参阅 OpenShift 文档

1.3. 使用 Skupper Operator 创建站点

  1. 创建定义您要创建的站点的 ConfigMap 的 YAML 文件。

    例如,创建 skupper-site.yaml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: skupper-site
      namespace: my-namespace

    您稍后可以使用控制台检索控制台凭证,如 Monitoring AMQ Interconnect site 所述,或者现在通过将用户名和密码添加到 skupper-site.yaml 来指定它们,如下所示:

    data:
      console-user: "admin"
      console-password: "changeme"
  2. 应用 YAML 在您要使用的命名空间中创建一个名为 skupper-site 的 ConfigMap:

    $ kubectl apply -f skupper-site.yaml
  3. 通过检查 Skupper 路由器和服务控制器 pod 是否正在运行来验证站点是否已创建:

    $ kubectl get pods
    
    NAME                                          READY   STATUS    RESTARTS   AGE
    skupper-router-8c6cc6d76-27562                1/1     Running   0          40s
    skupper-service-controller-57cdbb56c5-vc7s2   1/1     Running   0          34s
    注意

    如果将 Operator 部署到单个命名空间,则额外站点控制器 pod 也在运行。

2021-08-27 00:36:03 +1000 修订