第 11 章 教程: 在带有 STS 的 ROSA 上使用 AWS Secrets Manager CSI


AWS Secret 和配置提供程序(ASCP)提供了一种将 AWS Secret 公开为 Kubernetes 存储卷的方法。使用 ASCP,您可以在 Secrets Manager 中存储和管理您的 secret,然后通过 Red Hat OpenShift Service on AWS (ROSA)上运行的工作负载来检索它们。

11.1. 前提条件

在开始此过程前,请确定您有以下资源和工具:

  • 使用 STS 部署的 ROSA 集群
  • Helm 3
  • AWS CLI
  • oc CLI
  • jq CLI

额外的环境要求

  1. 运行以下命令登录到您的 ROSA 集群:

    $ oc login --token=<your-token> --server=<your-server-url>

    您可以通过从 Red Hat OpenShift Cluster Manager 访问 pull secret 来查找您的登录令牌。

  2. 运行以下命令,验证集群是否有 STS:

    $ oc get authentication.config.openshift.io cluster -o json \
      | jq .spec.serviceAccountIssuer

    输出示例

    "https://xxxxx.cloudfront.net/xxxxx"

    如果您的输出不同,请不要继续。在继续此过程前 ,请参阅创建 STS 集群的红帽文档

  3. 运行以下命令,将 SecurityContextConstraints 权限设置为允许 CSI 驱动程序运行:

    $ oc new-project csi-secrets-store
    $ oc adm policy add-scc-to-user privileged \
        system:serviceaccount:csi-secrets-store:secrets-store-csi-driver
    $ oc adm policy add-scc-to-user privileged \
        system:serviceaccount:csi-secrets-store:csi-secrets-store-provider-aws
  4. 运行以下命令,创建环境变量以便稍后使用:

    $ export REGION=$(oc get infrastructure cluster -o=jsonpath="{.status.platformStatus.aws.region}")
    $ export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster \
       -o jsonpath='{.spec.serviceAccountIssuer}' | sed  's|^https://||')
    $ export AWS_ACCOUNT_ID=`aws sts get-caller-identity --query Account --output text`
    $ export AWS_PAGER=""
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.