-
defaultMode Permission 이슈Trouble Shooting 2022. 8. 22. 09:54
틀린 내용이 있을 수도 있습니다!
틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다!
K8S에서는 시크릿 볼륨을 마운트할 때 다음과 같이 defaultMode를 통해서 권한을 지정해줄 수 있다.
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mypod image: redis volumeMounts: - name: foo mountPath: "/etc/foo" volumes: - name: foo secret: secretName: mysecret defaultMode: 0400
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mypod image: redis volumeMounts: - name: foo mountPath: "/etc/foo" volumes: - name: foo secret: secretName: mysecret defaultMode: 256
위의 두 스크립트는 완벽하게 동일한 스크립트이다. defaultMode가 다르게 명시되어 있음에도 불구하고 왜 같을까?
나는 defaultMode 값이 8진수만 지원을 하는 줄 알았는데, yaml 포멧에서는 10진수도 함께 지원한다.
그래서 0400 권한과 400 권한을 같다고 생각하고 스크립트를 짰는데,
이는 틀린 방식이고 400은 엄밀히 8진수가 아닌 10진수로 표현된 수이다.
만약 0400을 10진수로 표기하여 사용하고 싶다면, 256으로 적어줘야 한다.
참고로 Json 포멧의 경우에는 10진수만 지원을 하기 때문에 k8s 리소스를 코드로 짜는 경우에는 10진수로 변환하여 사용하자.
반응형'Trouble Shooting' 카테고리의 다른 글
golang: Found, but does not contain package (0) 2022.11.19 Validation webhook + k8s certificate 갱신 문제 Trouble shooting (0) 2022.09.18 K8S에서 secret을 통해 AWS credential 사용시 invalid header error (0) 2022.07.23 K8S Network Failure Trouble shooting (0) 2021.07.18 K8S Worker Node Not Ready Trouble Shooting (0) 2021.07.18