搜索

1.2. 安装 OADP Operator 并提供 IAM 角色

download PDF

AWS 安全令牌服务 (AWS STS) 是一个全局 Web 服务,它为 IAM 或联邦用户提供简短凭证。使用 STS 的 Red Hat OpenShift Service on AWS (ROSA) 是 ROSA 集群的建议凭证模式。本文档论述了如何使用 AWS STS 为 Data Protection (OADP) on (ROSA) with AWS STS 安装 OpenShift API for Data Protection (OADP)。

重要

使用 AWS STS 环境的 ROSA 上的 OADP 不支持 Restic 和 Kopia。确保禁用 Restic/Kopia 节点代理。对于备份卷,使用 AWS STS 的 ROSA 上 OADP 只支持原生快照和 CSI 快照。如需更多信息,请参阅 已知问题

重要

在使用 STS 验证的 Amazon ROSA 集群中,不支持在不同的 AWS 区域中恢复备份的数据。

目前,ROSA 集群不支持 Data Mover 功能。您可以使用原生 AWS S3 工具移动数据。

先决条件

  • 具有所需访问权限和令牌的集群。具体步骤请参阅"准备 AWS 凭证"。如果您计划使用两个不同的集群来备份和恢复,您需要为每个集群准备 AWS 凭证,包括 ROLE_ARN

流程

  1. 输入以下命令,从 AWS 令牌文件创建 OpenShift secret。

    1. 创建凭证文件:

      $ cat <<EOF > ${SCRATCH}/credentials
      [default]
      role_arn = ${ROLE_ARN}
      web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
      EOF
    2. 为 OADP 创建命名空间:

      $ oc create namespace openshift-adp
    3. 创建 OpenShift secret:

      $ oc -n openshift-adp create secret generic cloud-credentials \
        --from-file=${SCRATCH}/credentials
      注意

      在 Red Hat OpenShift Service on AWS 版本 4.15 及更新的版本中,OADP Operator 通过 Operator Lifecycle Manager (OLM)和 Cloud Credentials Operator (CCO)支持新的标准化 STS 工作流。在此工作流中,您不需要创建上述 secret,您只需要在 通过 Red Hat OpenShift Service on AWS Web 控制台安装 OLM 管理的 Operator 期间提供角色 ARN。以上 secret 通过 CCO 自动创建。

  2. 安装 OADP Operator。

    1. 在 Red Hat OpenShift Service on AWS web 控制台中进入 Operators OperatorHub。
    2. 搜索 OADP Operator,然后点 Install
  3. 使用 AWS 凭证创建 AWS 云存储:

    $ cat << EOF | oc create -f -
    apiVersion: oadp.openshift.io/v1alpha1
    kind: CloudStorage
    metadata:
      name: ${CLUSTER_NAME}-oadp
      namespace: openshift-adp
    spec:
      creationSecret:
        key: credentials
        name: cloud-credentials
      enableSharedConfig: true
      name: ${CLUSTER_NAME}-oadp
      provider: aws
      region: $REGION
    EOF
  4. 创建 DataProtectionApplication 资源,用于配置与存储备份和卷快照的存储的连接:

    $ cat << EOF | oc create -f -
    apiVersion: oadp.openshift.io/v1alpha1
    kind: DataProtectionApplication
    metadata:
      name: ${CLUSTER_NAME}-dpa
      namespace: openshift-adp
    spec:
      backupLocations:
      - bucket:
          cloudStorageRef:
            name: ${CLUSTER_NAME}-oadp
          credential:
            key: credentials
            name: cloud-credentials
          prefix: velero
          default: true
          config:
            region: ${REGION}
      configuration:
        velero:
          defaultPlugins:
          - openshift
          - aws
        nodeAgent: 1
          enable: false
          uploaderType: restic
      snapshotLocations:
        - velero:
            config:
              credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials 2
              enableSharedConfig: "true" 3
              profile: default 4
              region: ${REGION} 5
            provider: aws
    EOF
    1
    请参见以下的第一备注。
    2
    credentialsFile 字段是 pod 上存储桶凭证的挂载位置。
    3
    enableSharedConfig 字段允许 snapshotLocations 共享或重复使用为存储桶定义的凭证。
    4
    使用 AWS 凭证文件中设置的配置集名称。
    5
    region 指定为您的 AWS 区域。这必须与集群区域相同。

    现在,您可以备份和恢复 OpenShift 应用程序,如 OADP 文档所述。

注意

此配置中的 resticenable 参数设置为 false,因为 OADP 不支持 ROSA 环境中的 Restic。

如果使用 OADP 1.2,请替换此配置:

nodeAgent:
  enable: false
  uploaderType: restic

使用以下命令:

restic:
  enable: false
注意

如果要使用两个不同的集群来备份和恢复,则两个集群在 cloudstorage CR 和 OADP DataProtectionApplication 配置中必须具有相同的 AWS S3 存储名称。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.