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二进制文件。
流程
在工作站中打开一个终端,并使用命令行界面登录到 OpenShift:
语法
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
oc login --token=TOKEN --server=SERVER_URL_AND_PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow Example
oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以从 OpenShift Web 控制台查找登录令牌和 URL,以在命令行中使用。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。再次提供您的用户名和密码,然后单击 Display Token 查看命令。
为 RHTPA 部署创建一个新项目:
语法
oc new-project PROJECT_NAME
oc new-project PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow Example
oc new-project trusted-profile-analyzer
$ oc new-project trusted-profile-analyzerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开新文件进行编辑:
Example
vi values-rhtpa.yaml
$ vi values-rhtpa.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 RHTPA 值文件模板 复制并粘贴到新
values-rhtpa.yaml文件中。 使用您的信息更新
values-rhtpa.yaml文件。- 将 S3_ENDPOINT_URL 替换为您的相关 S3 存储信息。
- 将 AMQ_ENDPOINT_URL 和 USER_NAME 替换为相关的 AMQ Streams 信息。
- 将 OIDC_ISSUER_URL、FRONTEND_CLIENT_ID 和 WALKER_CLIENT_ID 替换为您相关的 OIDC 信息。
- 保存文件并退出编辑器。
使用您的凭证创建 S3 存储 secret 资源:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的凭证创建 AMQ Streams secret 资源:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 OIDC 指导客户端 secret 资源:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您的数据库凭据,创建两个 PostgreSQL 数据库机密资源。
PostgreSQL 标准用户 secret 资源:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL 管理员 secret 资源:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
设置 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}')export NAMESPACE=PROJECT_NAME export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}')$ 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}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 OpenShift Helm Chart 仓库:
Example
helm repo add openshift-helm-charts https://charts.openshift.io/
$ helm repo add openshift-helm-charts https://charts.openshift.io/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Helm Chart 仓库获取最新的 chart 信息:
Example
helm repo update
$ helm repo updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 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
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_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --set-string appDomain=$APP_DOMAIN_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以多次运行此 Helm Chart,以从值文件中应用当前配置的状态。
安装完成后,您可以使用来自 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"}'$ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=spog-ui -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 调度的 Cron 作业每天都运行,为 RHTPA 收集最新的常见漏洞和风险(CVE)数据。您可以运行以下命令来手动启动这个 Cron 作业,而不是等待:
Example
oc -n $NAMESPACE create job --from=cronjob/v11y-walker v11y-walker-now
$ oc -n $NAMESPACE create job --from=cronjob/v11y-walker v11y-walker-nowCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cron 作业完成后,删除此 Cron 作业:
Example
oc -n $NAMESPACE delete job v11y-walker-now
$ oc -n $NAMESPACE delete job v11y-walker-nowCopy to Clipboard Copied! Toggle word wrap Toggle overflow