第 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