¿Cómo puedo montar un sistema de archivos cifrado de Amazon EFS en un pod de Amazon EKS?
Quiero montar un sistema de archivos cifrado de Amazon Elastic File System (Amazon EFS) en un pod de Amazon Elastic Kubernetes Service (Amazon EKS).
Breve descripción
Puede cifrar los datos de su sistema de archivos Amazon EFS mediante uno de los siguientes métodos:
En la sección «Resolución», elija un método de cifrado según sus necesidades.
Nota: Si recibe errores al ejecutar comandos de la AWS Command Line Interface (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI.
Resolución
Cifre los datos en tránsito con TLS
1.Implemente el controlador de interfaz de almacenamiento en contenedores (CSI) de Amazon EFS para su clúster de Amazon EKS.
2.Cree un sistema de archivos Amazon EFS sin cifrado para su clúster.
3.Clone el repositorio de GitHub en su sistema local:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
4.Vaya al directorio de ejemplo: encryption_in_transit.
cd aws-efs-csi-driver/examples/kubernetes/encryption_in_transit/
5.Recupere el ID del sistema de archivos de Amazon EFS:
aws efs describe-file-systems --query "FileSystems[*].FileSystemId" --output text
6.Vaya al archivo pv.yaml en el directorio /examples/kubernetes/encryption_in_transit/specs/. A continuación, sustituya el valor de VolumeHandle por el FileSystemId del sistema de archivos Amazon EFS que debe montarse. Por ejemplo:
apiVersion: v1 kind: PersistentVolume metadata: name: efs-pv spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: efs-sc csi: driver: efs.csi.aws.com volumeHandle: [FileSystemId] volumeAttributes: encryptInTransit: "true"
Nota: La opción de montaje volumeAttributes: encryptInTransit activa el cifrado en tránsito.
7.Implemente la clase de almacenamiento, la reclamación de volumen persistente, el volumen persistente y el pod desde el directorio: /examples/kubernetes/encryption_in_transit/specs/.
kubectl apply -f specs/storageclass.yaml kubectl apply -f specs/pv.yaml kubectl apply -f specs/claim.yaml kubectl apply -f specs/pod.yaml
8.Una vez creados los objetos, compruebe que el pod se esté ejecutando:
kubectl get pods
9.Enumere los volúmenes persistentes en el espacio de nombres predeterminado:
kubectl get pv
10.Describa el volumen persistente:
kubectl describe pv efs-pv
Nota: El ID del sistema de archivos de Amazon EFS aparece como VolumeHandle.
11.Compruebe que los datos estén escritos en el sistema de archivos Amazon EFS:
kubectl exec -ti efs-app -- tail -f /data/out.txt
Cifrar datos en reposo
1.Implemente el controlador CSI de Amazon EFS para su clúster de Amazon EKS.
2.Cree un sistema de archivos de Amazon EFS habilitando el cifrado en reposo para su clúster de Amazon EKS.
3.Clone el siguiente repositorio de GitHub en su sistema local:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
4.Vaya al directorio de ejemplos de múltiple_pods:
cd aws-efs-csi-driver/examples/kubernetes/multiple_pods/
5.Recupere el ID del sistema de archivos de Amazon EFS:
aws efs describe-file-systems
Ejemplo de salida:
{ "FileSystems": [ { "SizeInBytes": { "Timestamp": , "Value": }, "ThroughputMode": "", "CreationToken": “”, "Encrypted": true, "CreationTime": , "PerformanceMode": "", "FileSystemId": "[FileSystemId]", "NumberOfMountTargets": , "LifeCycleState": "available", "KmsKeyId": "arn:aws:kms:ap-southeast-1:<account_id>:key/854df848-fdd1-46e3-ab97-b4875c4190e6", "OwnerId": "" }, ] }
6.Vaya al archivo pv.yaml en el directorio: /examples/kubernetes/multiple_pods/specs/. A continuación, sustituya el valor de volumeHandle por el FileSystemId del sistema de archivos Amazon EFS que debe montarse. Por ejemplo:
apiVersion: v1 kind: PersistentVolume metadata: name: efs-pv spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: efs-sc csi: driver: efs.csi.aws.com volumeHandle: [FileSystemId]
7.Implemente la clase de almacenamiento, la reclamación de volumen persistente, el volumen persistente y el pod desde el directorio ** /examples/kubernetes/multiple_pods/specs/**.
kubectl apply -f specs/storageclass.yaml kubectl apply -f specs/pv.yaml kubectl apply -f specs/claim.yaml kubectl apply -f specs/pod1.yaml kubectl apply -f specs/pod2.yaml
8.Una vez creados los objetos, compruebe que el pod se esté ejecutando:
kubectl get pods
9.Enumere los volúmenes persistentes en el espacio de nombres predeterminado:
kubectl get pv
10.Describa el volumen persistente:
kubectl describe pv efs-pv
11.Compruebe que los datos estén escritos en el sistema de archivos Amazon EFS:
kubectl exec -ti app1 -- tail /data/out1.txt kubectl exec -ti app2 -- tail /data/out1.txt
Contenido relevante
- OFICIAL DE AWSActualizada hace 9 meses
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años