2.3. 在 GitOps 仓库中存储 AWS Secrets Manager 资源
本指南提供了示例,可帮助您将 GitOps 工作流与 Secret Store Container Storage Interface (SSCSI) Driver Operator 搭配使用,将 secret 从 AWS Secrets Manager 挂载到 OpenShift Container Platform 中的 CSI 卷。
托管 control plane 集群不支持将 SSCSI Driver Operator 与 AWS Secrets Manager 搭配使用。
先决条件
-
您可以使用
cluster-admin
权限访问集群。 - 访问 OpenShift Container Platform web 控制台。
-
您已提取并准备好
ccoctl
二进制文件。 -
已安装
jq
CLI 工具。 - 您的集群安装在 AWS 上,并使用 AWS 安全令牌服务 (STS)。
- 您已将 AWS Secrets Manager 配置为存储所需的 secret。
- SSCSI Driver Operator 已安装在集群中。
- 在集群中安装了 Red Hat OpenShift GitOps Operator。
- 您有一个 GitOps 存储库可供使用 secret。
- 您可以使用 Argo CD admin 帐户登录到 Argo CD 实例。
流程
安装 AWS Secrets Manager 供应商并添加资源:
在 GitOps 存储库中,使用以下配置创建一个目录并添加
aws-provider.yaml
文件,以便为 AWS Secrets Manager 供应商部署资源:重要SSCSI 驱动程序的 AWS Secrets Manager 供应商是一个上游供应商。
此配置会根据上游 AWS 文档中提供的配置进行修改,以便它可以与 OpenShift Container Platform 正常工作。对此配置的更改可能会影响功能。
aws-provider.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 GitOps 仓库中添加
secret-provider-app.yaml
文件,以便为 AWS Secrets Manager 创建应用程序和部署资源:secret-provider-app.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 更新
repoURL
字段的值以指向 GitOps 存储库。
将资源与默认 Argo CD 实例同步,以在集群中部署它们:
为应用程序部署到
openshift-cluster-csi-drivers
命名空间添加标签,以便openshift-gitops
命名空间中的 Argo CD 实例可以管理它:oc label namespace openshift-cluster-csi-drivers argocd.argoproj.io/managed-by=openshift-gitops
$ oc label namespace openshift-cluster-csi-drivers argocd.argoproj.io/managed-by=openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 GitOps 存储库中的资源应用到集群,包括您刚才推送的
aws-provider.yaml
文件:输出示例
application.argoproj.io/argo-app created application.argoproj.io/secret-provider-app created ...
application.argoproj.io/argo-app created application.argoproj.io/secret-provider-app created ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Argo CD UI 中,您可以观察 csi-secrets-store-provider-aws
daemonset 继续同步资源。要解决这个问题,您必须配置 SSCSI 驱动程序来从 AWS Secrets Manager 挂载 secret。