!["PodSecurity 위반 "기준: 최신": 호스트 경로 볼륨"을 완전히 이해해야 합니다.](https://linux55.com/image/229153/%22PodSecurity%20%EC%9C%84%EB%B0%98%20%22%EA%B8%B0%EC%A4%80%3A%20%EC%B5%9C%EC%8B%A0%22%3A%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EA%B2%BD%EB%A1%9C%20%EB%B3%BC%EB%A5%A8%22%EC%9D%84%20%EC%99%84%EC%A0%84%ED%9E%88%20%EC%9D%B4%ED%95%B4%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
우리는 꽤 오랫동안 로컬 클러스터에서 Kubernetes 1.13을 실행해 왔습니다. 이제 1.24로 업그레이드했습니다.
배포 객체의 다음 이벤트로 인해 새 클러스터에 배포하려는 서비스가 실패합니다.
message: 'pods "..." is forbidden: violates
PodSecurity "baseline:latest": hostPath volumes (volume "...")'
이 문제를 논의하는 몇 가지 질문과 스레드를 찾았지만 모두 문제의 맥락을 피해 배포에 다음 태그를 추가하는 솔루션을 제공하려고 합니다. " pod-security.kubernetes.io/enforce: privileged
".
실제로 이것을 배포에 추가하는 것이 도움이 될지 잘 모르겠습니다. 실제로 디플로이먼트의 태그와 디플로이먼트의 템플릿 태그에 추가해 보았는데 별 차이가 없었습니다. 네임스페이스 개체에 이것이 필요합니까?
실제로 작동하게 하려면 어디에 추가해야 할지 알 수 있다고 해도, 여기서 무슨 일이 일어나고 있는지 정확히 이해하지 못한 채 단순히 추가하는 것만으로는 만족할 수 없습니다. 나는 이것이 본질적으로 보안을 감소시킨다고 생각합니다. 비록 볼륨을 호스트의 디렉터리에 매핑해야 하고 현재 기본적으로 허용되지 않는 다른 옵션이 없는 경우 이것이 우리가 해야 할 일이지만 확인이 필요합니다. 시간.
또한 이러한 새 클러스터에 서비스를 배포할 때 이전에는 볼 수 없었던 몇 가지 추가 보안 경고가 표시된다는 사실도 확인했습니다. 그 중 하나는 다음과 같습니다.
Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (containers ... must set securityContext.allowPrivilegeEscalation=false)
allowPrivilegeEscalation=false
내 의도는 " "이 설정될 경고에 설명된 대로 네 가지 경고를 모두 해결하는 것입니다 . 이 두 설정이 서로 관련이 있습니까(두 설정의 명백한 "특혜"를 넘어)?