6.8. 설치 후 사용자 관리 암호화 완료
사용자 관리 암호화 키를 사용하여 OpenShift Container Platform을 설치한 경우 새 스토리지 클래스를 생성하고 Azure 클러스터 리소스 그룹에 쓰기 권한을 부여하여 설치를 완료할 수 있습니다.
프로세스
설치 프로그램에서 사용하는 클러스터 리소스 그룹의 ID를 가져옵니다.
install-config.yaml
에서 기존 리소스 그룹을 지정한 경우 다음 명령을 실행하여 Azure ID를 가져옵니다.$ az identity list --resource-group "<existing_resource_group>"
install-config.yaml
에서 기존 리소스 그룹을 지정하지 않은 경우 설치 프로그램에서 생성한 리소스 그룹을 찾은 다음 다음 명령을 실행하여 Azure ID를 가져옵니다.$ az group list
$ az identity list --resource-group "<installer_created_resource_group>"
다음 명령을 실행하여 디스크 암호화 세트에 쓸 수 있도록 클러스터 리소스 그룹에 역할 할당을 부여합니다.
$ 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
다음 명령을 실행하여 클러스터 서비스 주체의 ID를 가져옵니다.
$ 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
스토리지 클래스를 선택합니다.