【发布时间】:2021-06-23 00:43:50
【问题描述】:
我使用 GCP(或 AWS)的计算/网络创建并运行自己的 Kubernetes 集群。没有 GKE,AKS。
我需要使用客户自己的密钥对动态配置的 PV 进行加密。
客户需求意味着,我们构建自己的 KMS 并将其用作客户密钥。 GCP(或 AWS)自己的 KMS 是没有问题的。
如何解决这个问题?
例如 GCP -
当我使用 GCP 的 CSI 驱动程序 (pd.csi.storage.gke.io) 时,它似乎只允许 GCP KMS。我需要使用自己的。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: custcmk-gcpcsi-sc
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
type: pd-standard
disk-encryption-kms-key: projects/key-project-id/locations/location/keyRings/key-ring/cryptoKeys/key
当然,在上面的例子中,key是在存储类中指定的。在实际使用中,我必须为每个存储配置使用不同的客户密钥。
是否可以改为在 PVC 中指定密钥?
基本上,我们的集群分布在云提供商 GCP、Azure、AWS..,因此我们可以使用的平台特定资源的最大范围是计算/网络。
有没有人成功处理过类似的情况?
【问题讨论】:
-
您找到解决方案了吗?
标签: kubernetes encryption persistent-volumes persistent-volume-claims