搜索

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

download PDF

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.