해결된 질문
작성
·
1.8K
0
안녕하세요~ 좋은 강의 잘 듣고 있습니다.
fsgroup / runAsUser / runAsGroup 약어 및 텍스트로 한마디로 정의 좀 부탁드릴까요?동영상 볼때 는 이해 가는데 다시 정리를 하려고 적어 보려고 하는데 생각이 안나서요?감사합니다.
답변 2
0
0
안녕하세요 강사 최일선입니다.
runAsUser와 runAsGroup, fsgroup은 설정하시면 ID의 결과로 출력됩니다.
spec:
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
자세한 설명을 강의에서는 생략했는데요. 이 포드내에서 명령이 실행될 때 유저는 runAsUser는 UID, runAsGroup은 GID, fsgroup은 groups으로 각각 실행되도록 영향을 줍니다.
id 명령을 사용해 uid, 그룹의 ID와 groups에 대한 정보를 변경할 수 있습니다.
id 명령어 결과
$ id
uid=1000 gid=3000 groups=2000
여기서부터는 fsgroups에 대한 설명입니다. fsgroup은 좀 특별한 기능을 갖습니다.
쿠버네티스에서는 볼륨이 마운트 될 때 포드 yaml파일의 fsgroup에 지정된 것과 일치하도록 각 볼륨의 소유권을 지속적으로 변경합니다. fsgroup을 2000으로 설정한 포드에서 마운트된 볼륨에 새 파일을 생성하면 소유자 gid는 자동으로 2000으로 변경됩니다. 다음 링크를 통해서 실습해보실 수 있습니다.
https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
해당 기능은 보안성을 더하려고 만들어졌는데 최근에도 지속적으로 기능을 적용하려고 했습니다만 2017년 이후로 계속 지연되고 있는 것으로 보입니다.
https://github.com/kubernetes/enhancements/issues/213
가장 하단에 보면 3일전에 1.20에도 포함되지 못한것으로 보이네요. 앞으로 기능이 더 잘 정착돼 적용되면 다시한번 풀어내도록 하겠습니다.
결론적으로 fsgroup은 파일 시스템의 gid를 변경하는 기능입니다.
감사합니다.