kubernetes에서 을 사용하여 나중에 일부 컨테이너에 마운트 할 수있는 스토리지를 만들 수 있습니다.루트가 아닌 사용자에게 PersistentVolumeClaim에 대한 액세스 허용
그러나 컨테이너의 사용자가 루트가 아닌 경우 해당 사용자는 루트가 소유하고 있으므로 해당 디렉토리에 액세스 할 수 없습니다.
이러한 볼륨에 액세스하는 올바른 방법은 무엇입니까? (해당 볼륨을 작성하고 마운트 할 때 사용자/권한 옵션을 찾지 못했습니다.)
kubernetes에서 을 사용하여 나중에 일부 컨테이너에 마운트 할 수있는 스토리지를 만들 수 있습니다.루트가 아닌 사용자에게 PersistentVolumeClaim에 대한 액세스 허용
그러나 컨테이너의 사용자가 루트가 아닌 경우 해당 사용자는 루트가 소유하고 있으므로 해당 디렉토리에 액세스 할 수 없습니다.
이러한 볼륨에 액세스하는 올바른 방법은 무엇입니까? (해당 볼륨을 작성하고 마운트 할 때 사용자/권한 옵션을 찾지 못했습니다.)
먼저 프로세스가 실행중인 UID 번호를 찾으십시오.
그럼 당신은 .spec.securityContext.fsGroup
를 추가하여 (일종의)은 chown 당신의 포드의 볼륨의 마운트 포인트를는 Kubernetes을 알 수 있습니다 :
spec:
...
securityContext:
fsGroup: 2000
fsGroup
: 정수 : 모든 컨테이너에 적용되는 특수 보조 그룹 포드에 일부 볼륨 유형은 Kubelet이 포드가 소유 할 볼륨의 소유권을 변경할 수 있도록합니다. 1. 소유 GID는 FSGroup 2입니다. setgid 비트가 설정됩니다 (볼륨에 생성 된 새 파일은 FSGroup에서 소유하게됩니다). 3 허가 비트는 rw-rw -와 OR 연산됩니다. unset하면 Kubelet은 모든 볼륨의 소유권과 사용 권한을 수정하지 않습니다.