第 1 章 保护您的签名数据
作为系统管理员,当因为硬件故障或意外删除数据而丢失时,保护软件供应链的签名数据至关重要。OpenShift API 数据保护(OADP)产品为在 Red Hat OpenShift 上运行的应用程序提供数据保护。通过使用 OADP 产品,这有助于我们使软件开发人员尽快签名和验证代码。安装和配置 OADP operator 后,您可以开始备份和恢复 Red Hat Trusted Artifact Signer (RHTAS)数据。
1.1. 安装和配置 OADP operator 复制链接链接已复制到粘贴板!
OpenShift API Data Protection (OADP)操作器可让您备份 OpenShift 应用程序资源和内部容器镜像。您可以使用 OADP operator 来备份和恢复 Trusted Artifact Signer 数据。
此流程使用 Amazon Web Services (AWS) Simple Storage Service (S3)创建一个存储桶,以说明如何配置 OADP operator。您可以选择使用不同的 S3 兼容对象存储平台,而不是 AWS,如 Red Hat OpenShift Data Foundation。
先决条件
- Red Hat OpenShift Container Platform 版本 4.13 或更高版本。
-
使用
cluster-admin
角色访问 OpenShift Web 控制台。 - 创建 S3 兼容存储桶的功能。
-
安装了
oc
和aws
二进制文件的工作站。
流程
在工作站上打开一个终端,并登录到 OpenShift:
语法
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以从 OpenShift Web 控制台找到用于命令行的登录令牌和 URL。登录 OpenShift Web 控制台。单击您的用户名,然后单击 Copy login command。如果被要求,再次提供您的用户名和密码,然后单击 Display Token 以查看该命令。
创建新存储桶:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个新用户:
Example
aws iam create-user --user-name $USER
$ aws iam create-user --user-name $USER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建新策略:
Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将这个策略与新用户关联:
Example
aws iam put-user-policy \ --user-name $USER \ --policy-name velero \ --policy-document file://velero-policy.json
$ aws iam put-user-policy \ --user-name $USER \ --policy-name velero \ --policy-document file://velero-policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建访问密钥:
Example
aws iam create-access-key --user-name $USER --output=json | jq -r '.AccessKey | [ "export AWS_ACCESS_KEY_ID=" + .AccessKeyId, "export AWS_SECRET_ACCESS_KEY=" + .SecretAccessKey ] | join("\n")'
$ aws iam create-access-key --user-name $USER --output=json | jq -r '.AccessKey | [ "export AWS_ACCESS_KEY_ID=" + .AccessKeyId, "export AWS_SECRET_ACCESS_KEY=" + .SecretAccessKey ] | join("\n")'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 AWS secret 密钥信息创建凭证文件:
语法
cat << EOF > ./credentials-velero [default] aws_access_key_id=$AWS_ACCESS_KEY_ID aws_secret_access_key=$AWS_SECRET_ACCESS_KEY EOF
cat << EOF > ./credentials-velero [default] aws_access_key_id=$AWS_ACCESS_KEY_ID aws_secret_access_key=$AWS_SECRET_ACCESS_KEY EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用具有
cluster-admin
角色的用户登录 OpenShift Web 控制台。 - 从 Administrator 视角中,展开 Operators 导航菜单,然后点 OperatorHub。
- 在搜索字段中,键入 oadp,然后点红帽提供的 OADP Operator 标题。
- 单击 Install 按钮,以显示 Operator 详情。
- 接受默认值,点 Install Operator 页面中的 Install,并等待安装完成。
在 Operator 安装完成后,从 workstation 终端为您的 AWS 凭证创建一个 secret 资源:
Example
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 OpenShift Web 控制台中点 View Operator 按钮。
- 在 DataProtectionApplication (DPA) 标题上点 Create instance。
- 在 Create DataProtectionApplication 页面中,选择 YAML 视图。
编辑资源文件中的以下值:
-
在
metadata
部分下,将velero-sample
替换为velero
。 -
在
spec.configuration.nodeAgent
部分下,将restic
替换为kopia
。 -
在
spec.configuration.velero
部分下,添加resourceTimeout: 10m
。 -
在
spec.configuration.velero.defaultPlugins
部分下,add- csi
。 -
在
spec.snapshotLocations
部分下,将us-west-2
值替换为 AWS 区域值。 -
在
spec.backupLocations
部分下,将us-east-1
值替换为 AWS 区域值。 -
在
spec.backupLocations.objectStorage
部分下,将my-bucket-name
替换为您的存储桶名称。如果您使用不同的前缀,将velero
替换为您的存储桶前缀名称。
-
在
- 点 Create 按钮。