Come si monta un file system Amazon EFS crittografato su un pod in Amazon EKS?
Desidero montare un file system Amazon Elastic File System (Amazon EFS) crittografato su un pod in Amazon Elastic Kubernetes Service (Amazon EKS).
Breve descrizione
Puoi crittografare i dati nel tuo file system Amazon EFS utilizzando uno dei seguenti metodi:
Nella sezione «Risoluzione», scegli un metodo di crittografia in base alle tue esigenze.
Nota: Se ricevi errori durante l'esecuzione dei comandi AWS Command Line Interface (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.
Risoluzione
Crittografa i dati in transito con TLS
-
Implementa il driver Amazon EFS Container Storage Interface (CSI) per il tuo cluster Amazon EKS.
-
Crea un file system Amazon EFS senza crittografia per il tuo cluster.
-
Clona il repository GitHub sul tuo sistema locale:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
- Vai alla directory di esempio di encryption\ _in\ _transit:
cd aws-efs-csi-driver/examples/kubernetes/encryption_in_transit/
- Recupera l'ID del file system Amazon EFS:
aws efs describe-file-systems --query "FileSystems[*].FileSystemId" --output text
- Vai al file pv.yaml nella directory /examples/kubernetes/encryption\ _in\ _transit/specs/. Quindi, sostituisci il valore di VolumeHandle con il FileSystemID del file system Amazon EFS che deve essere montato. Ad esempio:
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: L'opzione di montaggio volumeAttributes: encryptInTransit attiva la crittografia in transito.
- Distribuisci la classe di archiviazione, la dichiarazione del volume persistente, il volume persistente e il pod dalla directory /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
- Dopo aver creato gli oggetti, verifica che il pod sia in esecuzione:
kubectl get pods
- Elenca i volumi persistenti nello spazio dei nomi predefinito:
kubectl get pv
- Descrivi il volume persistente:
kubectl describe pv efs-pv
Nota: L'ID del file system Amazon EFS è indicato come VolumeHandle.
- Verifica che i dati siano scritti nel file system Amazon EFS:
kubectl exec -ti efs-app -- tail -f /data/out.txt
Crittografa i dati inattivi
-
Implementa il driver CSI Amazon EFS per il tuo cluster Amazon EKS.
-
Crea un file system Amazon EFS abilitando la crittografia a riposo per il tuo cluster Amazon EKS.
-
Clona il seguente repository GitHub sul tuo sistema locale:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
- Vai alla cartella degli esempi multipli di_pods:
cd aws-efs-csi-driver/examples/kubernetes/multiple_pods/
- Recupera l'ID del file system Amazon EFS:
aws efs describe-file-systems
Esempio di output:
{ "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": "" }, ] }
- Vai al file pv.yaml nella directory /examples/kubernetes/multiple_pods/specs/. Quindi, sostituisci il valore di volumeHandle con il FileSystemId del file system Amazon EFS che deve essere montato. Ad esempio:
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]
- Distribuisci la classe di archiviazione, la dichiarazione del volume persistente, il volume persistente e il pod dalla directory /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
- Dopo aver creato gli oggetti, verifica che il pod sia in esecuzione:
kubectl get pods
- Elenca i volumi persistenti nello spazio dei nomi predefinito:
kubectl get pv
- Descrivi il volume persistente:
kubectl describe pv efs-pv
- Verifica che i dati siano scritti nel file system Amazon EFS:
kubectl exec -ti app1 -- tail /data/out1.txt kubectl exec -ti app2 -- tail /data/out1.txt
Contenuto pertinente
- AWS UFFICIALEAggiornata 9 mesi fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa