9.9. 安装后最终调整用户管理的加密
如果使用用户管理的加密密钥安装 OpenShift Container Platform,您可以通过创建新存储类并授予 Azure 集群资源组写入权限来完成安装。
流程
获取安装程序使用的集群资源组的身份:
如果在
install-config.yaml
中指定了现有资源组,请运行以下命令获取其 Azure 身份:$ az identity list --resource-group "<existing_resource_group>"
如果您没有在
install-config.yaml
中指定现有资源组,请找到安装程序创建的资源组,然后运行以下命令来获取其 Azure 身份:$ az group list
$ az identity list --resource-group "<installer_created_resource_group>"
运行以下命令,为集群资源组授予角色分配,使其可以写入 Disk Encryption Set:
$ az role assignment create --role "<privileged_role>" \1 --assignee "<resource_group_identity>" 2
运行以下命令,获取在安装前创建的磁盘加密集的
id
:$ az disk-encryption-set show -n <disk_encryption_set_name> \1 --resource-group <resource_group_name> 2
运行以下命令,获取集群服务主体的身份:
$ az identity show -g <cluster_resource_group> \1 -n <cluster_service_principal_name> \2 --query principalId --out tsv
运行以下命令,创建一个角色分配,为磁盘加密集授予集群服务主体必要的权限:
$ az role assignment create --assignee <cluster_service_principal_id> \1 --role <privileged_role> \2 --scope <disk_encryption_set_id> \3
创建使用用户管理的磁盘加密集的存储类:
将以下存储类定义保存到文件中,如
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
从您创建的文件创建存储类
managed-premium
:$ oc create -f storage-class-definition.yaml
-
在创建持久性卷以使用加密存储时,选择
managed-premium
存储类。