Kubernetes 클러스터의 보안을 최고 수준으로 강화하기 위해, Pod Security Standards(PSS)를 효과적으로 적용하고, Admission Controllers를 활용하여 클러스터에 배포되는 모든 워크로드에 대한 보안 정책을 강제하는 방안을 설계해 주십시오. 특히, PSS의 `restricted` 프로파일을 준수하면서도 특정 예외를 허용해야 하는 경우, 이를 어떻게 유연하게 관리할 수 있을지 설명해 주십시오.
힌트 · Pod Security Admission(PSA) 컨트롤러의 작동 방식, Mutating/Validating Admission Webhook을 활용한 커스텀 정책 구현, 그리고 네임스페이스 레이블링을 통한 PSS 프로파일 적용 및 예외 처리를 중심으로 설명할 수 있습니다.
모범답안
네, Kubernetes 클러스터 보안 강화를 위해 PSS와 Admission Controller를 효과적으로 적용하는 방안을 말씀드리겠습니다.
우선, 네임스페이스별로 PSS restricted 프로파일을 적용합니다. 이는 Pod Security Admission Controller(PSA)를 통해 간단하게 설정할 수 있습니다. restricted 프로파일은 가장 엄격한 보안 정책을 적용하므로, 대부분의 워크로드에 안전한 기반을 제공합니다.
하지만 모든 워크로드가 restricted를 만족할 수 없으므로, 예외 처리가 필요합니다. 이때, Validating Admission Webhook을 활용하여 특정 조건 하에 예외를 허용하는 커스텀 정책을 구현합니다. 예를 들어, 특정 네임스페이스 또는 특정 어노테이션이 있는 Pod에 대해서만 특정 보안 설정을 완화할 수 있습니다.
RBAC를 통해 이러한 예외 정책을 관리할 권한을 제한하여, 보안 위험을 최소화합니다. 즉, 특정 그룹의 사용자만 예외 정책을 변경하거나 적용할 수 있도록 합니다.
이러한 방식으로 PSS의 강력한 보안 정책을 유지하면서도, 필요한 경우 유연하게 예외를 관리하여 클러스터 운영의 효율성을 높일 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Docker / Kubernetes 면접 질문
- Kubernetes가 다양한 컨테이너 런타임(Docker, containerd, CRI-O 등)과 상호작용할 수 있도록 하는 Container Runtime Interface(CRI)의 역할과 중요성에 대해 설명하고, 만약 특정 요구사항(예: 보안 강화, 성능 최적화)을 위해 기존 런타임 대신 자체 개발한 커스텀 컨테이너 런타임을 Kubernetes 클러스터에 통합해야 한다면, 어떤 단계를 거쳐야 하며 어떤 기술적 고려사항이 있을지 설명해 주십시오.
- Kubernetes 환경에서 대규모 데이터베이스나 고성능 컴퓨팅(HPC) 워크로드와 같이 I/O 성능이 매우 중요한 스테이트풀 애플리케이션을 운영할 때, PersistentVolume(PV) 및 PersistentVolumeClaim(PVC)을 활용한 스토리지 솔루션의 성능 병목 현상을 진단하고 최적화하기 위한 방안을 제시해 주십시오. 특히, Container Storage Interface(CSI)를 활용한 커스텀 스토리지 드라이버 개발 또는 기존 드라이버 최적화 관점에서 설명해 주십시오.
- Kubernetes 클러스터 내에서 Pod 간 통신 문제를 진단하고 해결해야 할 때, 특히 Network Policy와 CNI(Container Network Interface) 플러그인의 복합적인 상호작용으로 인해 발생하는 문제에 초점을 맞춰 설명해 주십시오. 특정 Pod가 예상치 못하게 다른 Pod와 통신하지 못하거나, 외부 네트워크 접근에 실패하는 상황을 가정하고, 문제 진단 방법과 해결 절차를 구체적으로 제시해 주십시오.