9.9. 安装后最终调整用户管理的加密


如果使用用户管理的加密密钥安装 OpenShift Container Platform,您可以通过创建新存储类并授予 Azure 集群资源组写入权限来完成安装。

流程

  1. 获取安装程序使用的集群资源组的身份:

    1. 如果在 install-config.yaml 中指定了现有资源组,请运行以下命令获取其 Azure 身份:

      $ az identity list --resource-group "<existing_resource_group>"
    2. 如果您没有在 install-config.yaml 中指定现有资源组,请找到安装程序创建的资源组,然后运行以下命令来获取其 Azure 身份:

      $ az group list
      $ az identity list --resource-group "<installer_created_resource_group>"
  2. 运行以下命令,为集群资源组授予角色分配,使其可以写入 Disk Encryption Set:

    $ az role assignment create --role "<privileged_role>" \1
        --assignee "<resource_group_identity>" 2
    1
    指定对磁盘加密集具有读/写权限的 Azure 角色。您可以使用 Owner 角色或具有所需权限的自定义角色。
    2
    指定集群资源组的身份。
  3. 运行以下命令,获取在安装前创建的磁盘加密集的 id

    $ az disk-encryption-set show -n <disk_encryption_set_name> \1
         --resource-group <resource_group_name> 2
    1
    指定磁盘加密集的名称。
    2
    指定包含磁盘加密集的资源组。id 的格式是 "/subscriptions/…​/resourceGroups/…​/providers/Microsoft.Compute/diskEncryptionSets/…​"
  4. 运行以下命令,获取集群服务主体的身份:

    $ az identity show -g <cluster_resource_group> \1
         -n <cluster_service_principal_name> \2
         --query principalId --out tsv
    1
    指定安装程序创建的集群资源组的名称。
    2
    指定安装程序创建的集群服务主体的名称。身份的格式是 12345678-1234-1234-1234-1234567890
  5. 运行以下命令,创建一个角色分配,为磁盘加密集授予集群服务主体必要的权限:

    $ az role assignment create --assignee <cluster_service_principal_id> \1
         --role <privileged_role> \2
         --scope <disk_encryption_set_id> \3
    1
    指定上一步中获得的集群服务主体的 ID。
    2
    指定 Azure 角色名称。您可以使用 Contributor 角色或具有所需权限的自定义角色。
    3
    指定磁盘加密集的 ID。
  6. 创建使用用户管理的磁盘加密集的存储类:

    1. 将以下存储类定义保存到文件中,如 storage-class-definition.yaml

      kind: StorageClass
      apiVersion: storage.k8s.io/v1
      metadata:
        name: managed-premium
      provisioner: kubernetes.io/azure-disk
      parameters:
        skuname: Premium_LRS
        kind: Managed
        diskEncryptionSetID: "<disk_encryption_set_ID>" 1
        resourceGroup: "<resource_group_name>" 2
      reclaimPolicy: Delete
      allowVolumeExpansion: true
      volumeBindingMode: WaitForFirstConsumer
      1
      指定您在先决条件步骤中创建的磁盘加密集的 ID,例如 "/subscriptions/xxxxxx-xxxxx-xxxxx/resourceGroups/test-encryption/providers/Microsoft.Compute/diskEncryptionSets/disk-encryption-set-xxxxxx"
      2
      指定安装程序使用的资源组的名称。这是第一步中的资源组。
    2. 从您创建的文件创建存储类 managed-premium

      $ oc create -f storage-class-definition.yaml
  7. 在创建持久性卷以使用加密存储时,选择 managed-premium 存储类。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.