ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.