우리는 꽤 오랫동안 로컬 클러스터에서 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
내 의도는 " "이 설정될 경고에 설명된 대로 네 가지 경고를 모두 해결하는 것입니다 . 이 두 설정이 서로 관련이 있습니까(두 설정의 명백한 "특혜"를 넘어)?