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

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 环境的 OADP on ROSA 不支持 Restic。确保禁用 Restic 服务。使用原生快照备份卷。如需更多信息,请参阅 已知问题

先决条件

  • 具有所需访问权限和令牌的 ROSA OpenShift 集群。具体步骤请参阅准备 AWS 凭证

流程

  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. 创建 OpenShift secret:

      $ oc -n openshift-adp create secret generic cloud-credentials \
        --from-file=${SCRATCH}/credentials
  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
          default: true
          config:
            region: ${REGION}
      configuration:
        velero:
          defaultPlugins:
          - openshift
          - aws
          restic:
            enable: false
      snapshotLocations:
      - velero:
          config:
            credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials 1
            enableSharedConfig: "true" 2
            profile: default 3
            region: ${REGION} 4
          provider: aws
    EOF
    1
    credentialsFile 是 pod 上存储桶凭证的挂载位置。
    2
    enableSharedConfig 允许 snapshotLocations 共享或重复使用为存储桶定义的凭证。
    3
    假设您的 profile: default 为 Velero 默认。
    4
    region 指定为您的 AWS 区域。这必须与集群区域相同。
    注意

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

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

其他资源