创建 Analytics CR

API Connect 分析创建安装 CR,以便部署分析子系统。

准备工作

重要信息: 安装分析子系统时,必须配置分析子系统,以便使用 mTLS 或 JWT 保护来自管理子系统的通信。 有关子系统间通信的更多信息,请参阅 子系统间通信的网络需求

查看 分析安装前规划 以决定部署选项。

关于此任务

要安装分析子系统,请在 YAML 文件中定义分析定制资源 (CR)。 YAML 文件包含分析部署的所有配置设置。 可使用该文件来安装、升级和更新 Analytics 子系统的配置。
注: analytics_cr.yaml 模板文件存储在 helper_files.zip解压缩到的目录中。

过程

  1. 从 helper_files 创建或复制 analytics_cr.yaml 文件。
  2. 编辑 CR 文件并更新以下设置:

    在将这些占位符替换为您环境的实际值之前,无法安装 Analytics 子系统。

    $APP_PRODUCT_VERSION
    API Connect 子系统的应用程序版本。
    version: <version_number>

    示例版本号: 10.0.8.6

    $PROFILE
    指定分析子系统概要文件,其中 n 指示副本数, c 核心数, m 是最小内存分配量 (以 GB 为单位)。 有关概要文件的更多信息,请参阅 部署和组件概要文件
    注: 您选择的概要文件会影响存储类型选项。 如果选择 n1 概要文件,那么必须选择 shared 存储类型。 有关存储类型的更多信息,请参阅 存储类型
    $SECRET_NAME
    用于从 Docker 注册表中提取映像的秘钥的名称。
    imagePullSecrets:
      - apic-registry-secret
    $DOCKER_REGISTRY
    将安装映像上载到的 Docker 注册表的主机名。 例如:
    my.docker.registry.domain.example.com.
    $INGRESS_CLASS
    您希望端点使用的入口类。 此属性是可选的,如果未指定此属性,那么将使用带有注释 ingressclass.kubernetes.io/is-default-class: true 的入口类。 如果此类入口类在 Kubernetes 环境中不存在,那么将使用 nginx 。 如果设置此值,那么它必须引用在 Kubernetes 系统中配置的有效入口类。 例如:
    spec:
    ...  
     ingestion:
        endpoint:
          #ingressClassName: $INGRESS_CLASS
    注: 此属性在模板 CR 文件中已注释掉。 如果设置此值,请确保同时取消注释。
    $STACK_HOST
    API Connect 堆栈的入口子域。 用于采集端点。 用于端点的域名不能包含下划线“_”字符。 您可以定制子域或完整主机名:
    • 仅子域定制

      接受为入口主机名预定义的前缀,以使用 $STACK_HOST 的所有实例并将其替换为 API Connect 堆栈的入口子域。 例如,如果主机为 myhost.subnet.example.com

      
        ingestion:
          endpoint:
             < ... >
            hosts: 
            - name: ai.myhost.subnet.example.com
              secretName: analytics-ai-endpoint
             < .... >
    $STORAGE_TYPE
    如果在 $PROFILE中选择了 n1 (一个副本) 概要文件,请将 $STORAGE_TYPE 设置为 shared。 如果选择了 n3 (三个副本) 概要文件,请将 $STORAGE_TYPE 设置为 dedicated。 有关分析存储类型的更多信息,请参阅 存储类型
    $STORAGE_CLASS
    要用于持久卷声明的 Kubernetes 存储类。 有关更多信息,请参阅 分析安装前规划。 通过运行以下命令来查找目标集群中的可用存储类:kubectl get sc
    • 对于共享存储器部署 (将 $STORAGE_TYPE 设置为 shared):
        storage:
          type: shared
          shared:
            volumeClaimTemplate:
              storageClassName: local_storage
    • 对于专用存储器部署 (将 $STORAGE_TYPE 设置为 dedicated) ,请在以下两个位置设置 $STORAGE_CLASS :
        storage:
          type: dedicated
          shared:
            volumeClaimTemplate:
              storageClassName: local_storage
              ...
          master:
            volumeClaimTemplate:
              storageClassName: local_storage
              ...
    $data_volume_size
    $DATA_VOLUME_SIZE 替换为您在 估算存储需求中计算的值。 如果无法估算存储需求,请将其设置为 500Gi。
      storage:
        ...
        shared:
          volumeClaimTemplate:
            ...
            volumeSize: 500Gi
  3. 编辑 license 设置。
    1. accept: 设置为 true 以接受许可证。 缺省值为 false。 如果您不接受许可证,那么操作员不会安装子系统。
    2. 设置 metric: 以跟踪产品使用情况。 输入用于程序许可证的计量单位:
      • PROCESSOR_VALUE_UNIT-缺省值。 如果将该字段留空,那么将使用此值。
      • MONTHLY_API_CALL - 仅适用于 IBM API Connect 混合津贴计划。

      有关跟踪每月调用量的信息,请参阅 计算 API 调用总数

    3. use: 设置为 productionnonproduction 以匹配您购买的许可证。
    4. license: 设置为您购买的 API Connect 版本的许可证 ID。 请参见 API Connect 许可证.

    用于接受生产系统许可证的示例条目:

      license:
        accept: true
        metric: PROCESSOR_VALUE_UNIT 
        use: production
        license: L-RJON-CEBL97
  4. 可选: 如果要对 管理和分析子系统之间以及网关和分析子系统之间的通信禁用 mTLS , 并改为启用 JWT ,请添加并设置属性 mtlsValidateClientjwksUrl
    spec:
      ...
      mtlsValidateClient: false
      jwksUrl: <JWKS URL>
    其中, <JWKS URL > 是托管在管理子系统上的JWKS端点的 URL。 要了解 jwksUrl,请描述管理 CR 并检查 status: 部分:
    kubectl describe mgmt -n <namespace>
    ...
    status:
      - name: jwksUrl
        secretName: api-endpoint
        type: API
        uri: https://api.apic.acme.com/api/cloud/oauth2/certs
    有关 JWT 安全性的更多信息,请参阅 启用 JWT 安全性而不是 mTLS
    注: 无法在 V5 兼容网关到分析消息流上使用 JWT。
  5. 可选: 启用 Amazon SNS for Engagement ,请完成以下步骤:
    1. 创建 AWS 凭据机密。 运行以下命令,创建包含 AWS 凭据的 Kubernetes/OpenShift secret:
      kubectl create secret generic <aws-creds-secret> \
      
        --from-literal=access_key_id=<aws_access_key_id> \
      
        --from-literal=secret_access_key=<aws_secret_access_key> \
      
        -n <namespace>
      此处,
      aws-凭证-密钥
      秘密的名称
      AWS_ACCESS_KEY_ID
      您的实际 AWS IAM 访问密钥 ID
      AWS_SECRET_ACCESS_KEY
      您的实际 AWS IAM 秘密访问密钥
      名称空间
      部署分析 CR 的命名空间
      重要信息: 密钥的名称必须完全一致:
      • ACCESS_KEY_ID
      • SECRET_ACCESS_KEY
      如果重新命名这些键,集成将失败。
    2. 参考分析 CR 中的秘密。 在分析自定义资源 YAML 中,添加以下条目:
      awsCredentialsSecret:
          secretName: <aws-creds-secret>
      aws-creds-secret 替换为您在步骤 a 中创建的秘密的确切名称。 分析服务现在可以使用 AWS 凭据访问 Amazon SNS。
  6. 可选: 如果计划 配置分析数据库备份,请定义备份所需的存储器:
    通过在 spec.storage中添加 backup.volumeClaimTemplate 属性来定义备份 PVC。 例如:
    spec:
      storage:
        backup:
          volumeClaimTemplate:
            storageClassName: <storage class>
            volumeSize: <size>

    如果不确定所需的卷大小,那么可以在安装后配置 backup.volumeClaimTemplate

  7. 保存该文件。

后续操作

安装分析子系统: 安装分析子系统
重要信息: 在安装后,可以添加,更改或除去 所有分析 高级配置选项 用于禁用或启用内部存储器。 如果要禁用内部存储器,必须在安装之前在分析 CR 中对其进行配置: 禁用本地存储器