第 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 兼容存储桶的功能。
  • 安装了 ocaws 二进制文件的工作站。

流程

  1. 在工作站上打开一个终端,并登录到 OpenShift:

    语法

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    Example

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注意

    您可以从 OpenShift Web 控制台找到用于命令行的登录令牌和 URL。登录 OpenShift Web 控制台。单击您的用户名,然后单击 Copy login command。如果被要求,再次提供您的用户名和密码,然后单击 Display Token 以查看该命令。

  2. 创建新存储桶:

    语法

    export BUCKET=NEW_BUCKET_NAME
    export REGION=AWS_REGION_ID
    export USER=OADP_USER_NAME
    
    aws s3api create-bucket \
    --bucket $BUCKET \
    --region $REGION \
    --create-bucket-configuration LocationConstraint=$REGION

    Example

    $ export BUCKET=example-bucket-name
    $ export REGION=us-east-1
    $ export USER=velero
    $
    $ aws s3api create-bucket \
    --bucket $BUCKET \
    --region $REGION \
    --create-bucket-configuration LocationConstraint=$REGION

  3. 创建一个新用户:

    Example

    $ aws iam create-user --user-name $USER

  4. 创建新策略:

    Example

    $ cat > velero-policy.json <<EOF
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ec2:DescribeVolumes",
                    "ec2:DescribeSnapshots",
                    "ec2:CreateTags",
                    "ec2:CreateVolume",
                    "ec2:CreateSnapshot",
                    "ec2:DeleteSnapshot"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:DeleteObject",
                    "s3:PutObject",
                    "s3:AbortMultipartUpload",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetBucketLocation",
                    "s3:ListBucketMultipartUploads"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}"
                ]
            }
        ]
    }
    EOF

  5. 将这个策略与新用户关联:

    Example

    $ aws iam put-user-policy \
    --user-name $USER \
    --policy-name velero \
    --policy-document file://velero-policy.json

  6. 创建访问密钥:

    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")'

  7. 使用 AWS secret 密钥信息创建凭证文件:

    语法

    cat << EOF > ./credentials-velero
    [default]
    aws_access_key_id=$AWS_ACCESS_KEY_ID
    aws_secret_access_key=$AWS_SECRET_ACCESS_KEY
    EOF

  8. 使用具有 cluster-admin 角色的用户登录 OpenShift Web 控制台。
  9. Administrator 视角中,展开 Operators 导航菜单,然后点 OperatorHub
  10. 在搜索字段中,键入 oadp,然后点红帽提供的 OADP Operator 标题。
  11. 单击 Install 按钮,以显示 Operator 详情。
  12. 接受默认值,点 Install Operator 页面中的 Install,并等待安装完成。
  13. 在 Operator 安装完成后,从 workstation 终端为您的 AWS 凭证创建一个 secret 资源:

    Example

    $ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero

  14. 在 OpenShift Web 控制台中点 View Operator 按钮。
  15. DataProtectionApplication (DPA) 标题上点 Create instance
  16. Create DataProtectionApplication 页面中,选择 YAML 视图
  17. 编辑资源文件中的以下值:

    1. metadata 部分下,将 velero-sample 替换为 velero
    2. spec.configuration.nodeAgent 部分下,将 restic 替换为 kopia
    3. spec.configuration.velero 部分下,添加 resourceTimeout: 10m
    4. spec.configuration.velero.defaultPlugins 部分下,add - csi
    5. spec.snapshotLocations 部分下,将 us-west-2 值替换为 AWS 区域值。
    6. spec.backupLocations 部分下,将 us-east-1 值替换为 AWS 区域值。
    7. spec.backupLocations.objectStorage 部分下,将 my-bucket-name 替换为您的存储桶名称。如果您使用不同的前缀,将 velero 替换为您的存储桶前缀名称。
  18. Create 按钮。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.