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 环境的 ROSA 上的 OADP 不支持 Restic 和 Kopia。确保禁用 Restic/Kopia 节点代理。对于备份卷,使用 AWS STS 的 ROSA 上 OADP 只支持原生快照和 CSI 快照。如需更多信息,请参阅 已知问题。
在使用 STS 验证的 Amazon ROSA 集群中,不支持在不同的 AWS 区域中恢复备份的数据。
目前,ROSA 集群不支持 Data Mover 功能。您可以使用原生 AWS S3 工具移动数据。
先决条件
-
具有所需访问权限和令牌的集群。具体步骤请参阅"准备 AWS 凭证"。如果您计划使用两个不同的集群来备份和恢复,您需要为每个集群准备 AWS 凭证,包括
ROLE_ARN
。
流程
输入以下命令,从 AWS 令牌文件创建 OpenShift secret。
创建凭证文件:
$ cat <<EOF > ${SCRATCH}/credentials [default] role_arn = ${ROLE_ARN} web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token EOF
为 OADP 创建命名空间:
$ oc create namespace openshift-adp
创建 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 自动创建。
安装 OADP Operator。
- 在 Red Hat OpenShift Service on AWS web 控制台中进入 Operators → OperatorHub。
- 搜索 OADP Operator,然后点 Install。
使用 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
创建
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
现在,您可以备份和恢复 OpenShift 应用程序,如 OADP 文档所述。
此配置中的 restic
的 enable
参数设置为 false
,因为 OADP 不支持 ROSA 环境中的 Restic。
如果使用 OADP 1.2,请替换此配置:
nodeAgent: enable: false uploaderType: restic
使用以下命令:
restic: enable: false
如果要使用两个不同的集群来备份和恢复,则两个集群在 cloudstorage CR 和 OADP DataProtectionApplication
配置中必须具有相同的 AWS S3 存储名称。
其他资源