Como faço para montar um sistema de arquivos criptografado do Amazon EFS em um pod no Amazon EKS?
Quero montar um sistema de arquivos criptografado do Amazon Elastic File System (Amazon EFS) em um pod no Amazon Elastic Kubernetes Service (Amazon EKS).
Breve descrição
Você pode criptografar dados em seu sistema de arquivos do Amazon EFS usando um dos seguintes métodos:
Na seção “Resolução”, selecione um método de criptografia com base nas suas necessidades.
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.
Resolução
Criptografe dados em trânsito com TLS
1. Implante o driver Amazon EFS Container Storage Interface (CSI) ao seu cluster do Amazon EKS.
2. Crie um sistema de arquivos do Amazon EFS sem criptografia para seu cluster.
3. Clone o repositório do GitHub em seu sistema local:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
4. Acesse o diretório de exemplo encryption_in_transit:
cd aws-efs-csi-driver/examples/kubernetes/encryption_in_transit/
5. Recupere a ID do sistema de arquivos do Amazon EFS:
aws efs describe-file-systems --query "FileSystems[*].FileSystemId" --output text
6. Acesse o arquivo pv.yaml no diretório /examples/kubernetes/encryption_in_transit/specs/. Em seguida, substitua o valor de VolumeHandle pelo FileSystemId do sistema de arquivos do Amazon EFS que precisa ser montado. Por exemplo:
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"
Observação: a opção de montagem volumeAttributes: encryptInTransit ativa a criptografia em trânsito.
7. Implante a classe de armazenamento, a declaração de volume persistente, o volume persistente e o pod do diretório /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. Depois que os objetos forem criados, verifique se o pod está em execução:
kubectl get pods
9. Liste os volumes persistentes no namespace padrão:
kubectl get pv
10. Descreva o volume persistente:
kubectl describe pv efs-pv
Observação: a ID do sistema de arquivos do Amazon EFS está listada como VolumeHandle.
11. Verifique se os dados estão gravados no sistema de arquivos do Amazon EFS:
kubectl exec -ti efs-app -- tail -f /data/out.txt
Criptografe dados em repouso
1. Implante o driver CSI do Amazon EFS para seu cluster do Amazon EKS.
2. Crie um sistema de arquivos do Amazon EFS ativando a criptografia em repouso para seu cluster do Amazon EKS.
3. Clone o repositório do GitHub a seguir em seu sistema local:
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
4. Vá para o diretório de exemplo multiple_pods:
cd aws-efs-csi-driver/examples/kubernetes/multiple_pods/
5. Recupere a ID do sistema de arquivos do Amazon EFS:
aws efs describe-file-systems
Exemplo de saída:
{ "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. Acesse o arquivo pv.yaml no diretório /examples/kubernetes/multiple_pods/specs/. Em seguida, substitua o valor de volumeHandle pelo FileSystemId do sistema de arquivos do Amazon EFS que precisa ser montado. Por exemplo:
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. Implante a classe de armazenamento, a declaração de volume persistente, o volume persistente e o pod no diretório /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. Depois que os objetos forem criados, verifique se o pod está em execução:
kubectl get pods
9. Liste os volumes persistentes no namespace padrão:
kubectl get pv
10. Descreva o volume persistente:
kubectl describe pv efs-pv
11. Verifique se os dados estão gravados no sistema de arquivos do Amazon EFS:
kubectl exec -ti app1 -- tail /data/out1.txt kubectl exec -ti app2 -- tail /data/out1.txt
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há 3 anos