2017-10-22 9 views
2

kubernetes에서 을 사용하여 나중에 일부 컨테이너에 마운트 할 수있는 스토리지를 만들 수 있습니다.루트가 아닌 사용자에게 PersistentVolumeClaim에 대한 액세스 허용

그러나 컨테이너의 사용자가 루트가 아닌 경우 해당 사용자는 루트가 소유하고 있으므로 해당 디렉토리에 액세스 할 수 없습니다.

이러한 볼륨에 액세스하는 올바른 방법은 무엇입니까? (해당 볼륨을 작성하고 마운트 할 때 사용자/권한 옵션을 찾지 못했습니다.)

답변

3

먼저 프로세스가 실행중인 UID 번호를 찾으십시오.

그럼 당신은 .spec.securityContext.fsGroup를 추가하여 (일종의)은 chown 당신의 포드의 볼륨의 마운트 포인트를는 Kubernetes을 알 수 있습니다 :

spec: 
    ... 
    securityContext: 
    fsGroup: 2000 

fsGroup : 정수 : 모든 컨테이너에 적용되는 특수 보조 그룹 포드에 일부 볼륨 유형은 Kubelet이 포드가 소유 할 볼륨의 소유권을 변경할 수 있도록합니다. 1. 소유 GID는 FSGroup 2입니다. setgid 비트가 설정됩니다 (볼륨에 생성 된 새 파일은 FSGroup에서 소유하게됩니다). 3 허가 비트는 rw-rw -와 OR 연산됩니다. unset하면 Kubelet은 모든 볼륨의 소유권과 사용 권한을 수정하지 않습니다.