-
[AWS] EFS 스토리지 사용 시, pod 내부 권한 에러Cloud/AWS 2022. 5. 12. 13:39
AWS 환경에서 EFS 스토리지를 사용하여 PV를 생성할때, pod 내부에서 파일 권한 혹은 유저 권한에 대한 에러 로그가 나타나는 현상이 있습니다. 예시 로그로는 아래와 같습니다.
ex) chown: /var/lib/data: Operation not permitted
ex) /var/lib/data has wrong ownership error
이와 같은 에러의 원인은 EFS 스토리지를 사용할 경우, pod내부에 설정해준 uid/gid & 파일권한이 EFS 액세스포인트값으로 덮어 씌워지기 때문입니다. AWS 콘솔에 접속하여 생성된 EFS 액세스포인트를 살펴보면 initContainer 상에는 999로 주었던 uid가 예를 들어 1001과 같이 랜덤한 값으로 설정 되어있는 것을 보실 수 있습니다.
해결 방안은 다음과 같습니다. storageClass 단에서부터 uid/gid & directoryPerms 파라미터를 사용해 권한 문제를 해결할 수 있습니다. 권한은 앱별로 필요한 uid/gid & directorPerms 을 세팅해주세요. storageClass 예시 yaml도 첨부 드립니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: name: efs-sc parameters: basePath: /dynamic_provisioning directoryPerms: "755" gid: "0" uid: "0" fileSystemId: [fileSystemId] provisioningMode: efs-ap provisioner: efs.csi.aws.com reclaimPolicy: Delete volumeBindingMode: Immediate
참고사항으로 efs-csi-driver:v1.13.4 버전에서는 해당 옵션이 적용되지 않습니다. (버그? 몰겟삼)
해서 efs-csi-driver:v1.13.8 버전 사용을 추천드리는 바 입니다.
aws 공부를 꾸준히 해서 글로 자주 찾아 뵐 수 있도록... 노력.. 하겠습니다 ~ !
'Cloud > AWS' 카테고리의 다른 글
aws efs csi 사용 가이드 (0) 2022.10.25