如何解决如何使用现有的加密 EBS 卷作为 Pod 或部署的持久卷
我有一个未加密的 EBS 卷,上面有一堆数据。 我想为该卷上的数据拍摄快照,从该快照创建一个新的 EBS 卷,但对其进行加密,然后在我的 EKS 集群中使用它。 我知道如何创建持久卷、持久卷声明,然后将其安装在未加密 EBS 卷的 pod 中。如何使用加密的 EBS 卷执行此操作? 我确实尝试了上述操作,恢复了快照并选择使用默认密钥进行加密,并成功将加密的 EBS 卷挂载到 pod 中,我可以看到文件,但是当我打开文件时,它们确实无法读取,因此已加密。我想我需要在某处应用密钥以允许我正确读取 pod 中的文件?
这是创建持久卷的代码:
apiVersion: v1
kind: PersistentVolume
metadata:
name: existing-volume-2
annotations:
#pv.kubernetes.io/provisioned-by: ebs.csi.aws.com
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: standard-rwo
claimRef:
name: my-pvc
namespace: default
awsElasticBlockStore:
volumeID: "vol-xxx82072b1bd3a222"
fsType: ext4
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- us-east-1a
这是持久卷声明的代码-
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
storageClassName: standard-rwo
volumeName: existing-volume-2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
这是调出将使用 PVC 的 pos 的代码 -
apiVersion: v1
kind: Pod
metadata:
name: web-server
spec:
containers:
- name: web-server
image: alpine:latest
command:
- /bin/sh
- "-c"
- "sleep 60m"
volumeMounts:
- mountPath: /tmp
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: my-pvc
解决方法
我想通了—— (来自https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
1 - 创建原始未加密卷的快照。
2 - 创建您刚刚拍摄的快照的副本并选中使其加密的选项。
3 - 通过恢复刚刚加密的副本来创建新的加密卷。该卷将默认加密。
4 - 使用新的加密卷创建持久卷。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。