2.3. 使用带有其他服务的 Helm 安装 Trusted Profile Analyzer


您可以使用红帽的 Helm chart 在 OpenShift 上安装红帽受信任的配置文件分析器(RHTPA)服务。您需要具有简单存储服务(S3)兼容存储基础架构、OpenID Connect (OIDC)供应商、PostgreSQL 数据库并使用 Red Hat AMQ Streams for OpenShift。此流程指导您使用 Helm 的自定义值文件将这些各种服务与 RHTPA 集成。

重要

如果机密值在安装后更改,OpenShift 会重新部署 RHTPA。

先决条件

  • 运行版本 4.14 或更高版本的 Red Hat OpenShift Container Platform 集群。

    • 支持 Ingress 资源来提供使用 HTTPS 的公开可信证书。
  • 创建了以下未指定版本的 S3 存储桶名称:

    • bombastic-default
    • vexination-default
    • v11y-default
  • 创建了以下主题名称的 AMQ Streams on OpenShift 服务:

    • bombastic-failed-default
    • bombastic-indexed-default
    • bombastic-stored-default
    • vexination-failed-default
    • vexination-indexed-default
    • vexination-stored-default
    • v11y-failed-default
    • v11y-indexed-default
    • v11y-stored-default
  • 用于身份验证的 OIDC 供应商。
  • 新的 PostgreSQL 数据库。
  • 使用 cluster-admin 角色访问 OpenShift Web 控制台。
  • 安装了 oc 的工作站,以及 helm 二进制文件。

流程

  1. 在工作站中打开一个终端,并使用命令行界面登录到 OpenShift:

    语法

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    Example

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注意

    您可以从 OpenShift Web 控制台查找登录令牌和 URL,以在命令行中使用。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。再次提供您的用户名和密码,然后单击 Display Token 查看命令。

  2. 为 RHTPA 部署创建一个新项目:

    语法

    oc new-project PROJECT_NAME

    Example

    $ oc new-project trusted-profile-analyzer

  3. 打开新文件进行编辑:

    Example

    $ vi values-rhtpa.yaml

  4. RHTPA 值文件模板 复制并粘贴到新 values-rhtpa.yaml 文件中。
  5. 使用您的信息更新 values-rhtpa.yaml 文件。

    1. S3_ENDPOINT_URL 替换为您的相关 S3 存储信息。
    2. AMQ_ENDPOINT_URLUSER_NAME 替换为相关的 AMQ Streams 信息。
    3. OIDC_ISSUER_URLFRONTEND_CLIENT_IDWALKER_CLIENT_ID 替换为您相关的 OIDC 信息。
    4. 保存文件并退出编辑器。
  6. 使用您的凭证创建 S3 存储 secret 资源:

    语法

    apiVersion: v1
    kind: Secret
    metadata:
      name: s3-credentials
      namespace: PROJECT_NAME
    type: Opaque
    data:
      user: USER_NAME
      password: PASSWORD

    Example

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: s3-credentials
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      user: root
      password: example123
    EOF

  7. 使用您的凭证创建 AMQ Streams secret 资源:

    语法

    apiVersion: v1
    kind: Secret
    metadata:
      name: kafka-credentials
      namespace: PROJECT_NAME
    type: Opaque
    data:
      client_password: PASSWORD

    Example

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: kafka-credentials
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      client_password: example123
    EOF

  8. 创建 OIDC 指导客户端 secret 资源:

    语法

    apiVersion: v1
    kind: Secret
    metadata:
      name: oidc-walker
      namespace: PROJECT_NAME
    type: Opaque
    data:
      client-secret: SECRET

    Example

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: oidc-walker
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      client-secret: 5460cc91-4e20-4edd-881c-b15b169f8a79
    EOF

  9. 使用您的数据库凭据,创建两个 PostgreSQL 数据库机密资源。

    1. PostgreSQL 标准用户 secret 资源:

      语法

      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-credentials
        namespace: PROJECT_NAME
      type: Opaque
      data:
        db.host: DB_HOST
        db.name: DB_NAME
        db.user: USERNAME
        db.password: PASSWORD
        db.port: PORT

      Example

      $ cat <<EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-credentials
        namespace: trusted-profile-analyzer
      type: Opaque
      data:
        data:
        db.host: postgresql.example.com
        db.name: rhtpadb
        db.user: jdoe
        db.password: example1234
        db.port: 5432
      EOF

    2. PostgreSQL 管理员 secret 资源:

      语法

      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-admin-credentials
        namespace: PROJECT_NAME
      type: Opaque
      data:
        db.host: DB_HOST
        db.name: DB_NAME
        db.user: USERNAME
        db.password: PASSWORD
        db.port: PORT

      Example

      $ cat <<EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-admin-credentials
        namespace: trusted-profile-analyzer
      type: Opaque
      data:
        data:
        db.host: postgresql.example.com
        db.name: rhtpadb
        db.user: admin
        db.password: example1234
        db.port: 5432
      EOF

  10. 设置 shell 环境:

    语法

    export NAMESPACE=PROJECT_NAME
    export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')

    Example

    $ export NAMESPACE=trusted-profile-analyzer
    $ export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')

  11. 添加 OpenShift Helm Chart 仓库:

    Example

    $ helm repo add openshift-helm-charts https://charts.openshift.io/

  12. 从 Helm Chart 仓库获取最新的 chart 信息:

    Example

    $ helm repo update

  13. 运行 Helm Chart:

    语法

    helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL

    Example

    $ helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --set-string appDomain=$APP_DOMAIN_URL

    注意

    您可以多次运行此 Helm Chart,以从值文件中应用当前配置的状态。

  14. 安装完成后,您可以使用来自 OIDC 供应商的用户凭证登录到 RHTPA 控制台。您可以运行以下命令来查找 RHTPA 控制台 URL:

    Example

    $ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=spog-ui -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'

  15. 调度的 Cron 作业每天都运行,为 RHTPA 收集最新的常见漏洞和风险(CVE)数据。您可以运行以下命令来手动启动这个 Cron 作业,而不是等待:

    Example

    $ oc -n $NAMESPACE create job --from=cronjob/v11y-walker v11y-walker-now

    Cron 作业完成后,删除此 Cron 作业:

    Example

    $ oc -n $NAMESPACE delete job v11y-walker-now

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.