컨테이너와 관련된 클라우드 네이티브 소프트웨어의 표준이 된 Kubernetes. 실제로 클라우드 네이티브 컴퓨팅 재단(CNCF)의 가장 최근 설문조사에 따르면 프로덕션 환경에서 Kubernetes 사용이 78%까지 증가했습니다. 그러나 단기간에 인기가 급상승하는 모든 기술이 그렇듯이, Kubernetes가 무엇인지, Kubernetes와 컨테이너화에 따른 보안 고려 사항은 무엇인지에 대해 많은 혼란이 있습니다. 사례: CNCF의 동일한 설문조사에서 응답자의 40%는 컨테이너 사용/배포의 어려움으로 보안을 꼽았고, 38%는 복잡성을 문제점으로 꼽았습니다.
컨테이너 배포를 강화하는 작업을 담당하는 보안 엔지니어에게는 극복해야 할 학습 곡선이 분명히 있습니다. 이해를 돕기 위해 Kubernetes가 무엇인지, 어떻게 작동하는지 살펴보고 몇 가지 기본적인 Kubernetes 보안 개념을 살펴보겠습니다.
Kubernetes는 컨테이너 워크로드를 오케스트레이션하고 관리하는 데 사용되는 플랫폼입니다. 도커 컨테이너).
2014년 처음 출시된 이후, 구글 개발팀에 뿌리를 두고 있는 오픈소스 CNCF 졸업 프로젝트인 Kubernetes는 DevOps 및 클라우드 네이티브 업계에서 가장 인기 있는 도구 중 하나가 되었습니다.
Kubernetes를 이해하기 위한 전제 조건은 먼저 컨테이너를 이해하는 것입니다. 간단히 말해, 컨테이너는 애플리케이션을 실행하는 데 필요한 모든 종속성을 포함하는 경량 소프트웨어 패키지입니다. 컨테이너는 다양한 환경에서 애플리케이션을 안정적으로 실행하는 문제를 해결합니다. 컨테이너는 가볍고 휴대성이 뛰어나기 때문에 인기가 급증하고 있으며 최신 마이크로서비스 및 웹 애플리케이션 개발에 필수적입니다.
단일 컨테이너를 사용할 때는 많은 관리와 오케스트레이션이 필요하지 않지만, 대규모 애플리케이션은 확장할 수 있어야 합니다. 최신 개발팀은 컨테이너 배포 프로세스를 자동화하고 확장할 수 있어야 합니다. 이 때문에 Kubernetes와 같은 컨테이너화된 워크로드 관리 도구가 필요합니다. Kubernetes는 부족한 관리 및 오케스트레이션 기능을 제공합니다.
"관리 및 오케스트레이션"이라는 표현은 Kubernetes에 대해 논의할 때 많이 사용됩니다. 그러나 이는 구체적인 내용에 대해 많은 것을 알려주지는 않습니다. 간단히 말해, Kubernetes는 로드 밸런싱, 구성 관리, 스토리지 리소스 구성, 자동 리소스 할당(예. 컨테이너당 CPU 및 RAM), 컨테이너 배포의 확장 또는 축소에 대해 설명합니다.
Docker와 Kubernetes라는 주제에 대해 많은 혼란이 있을 수 있습니다. 하지만 실제로는 매우 간단합니다:
이 마지막 점이 혼란을 야기할 수 있습니다. Docker는 우연히도 Kubernetes와 유사한 기능을 제공하는 Swarm이라는 도구를 제공합니다. 하지만 관리 및 오케스트레이션 도구로 가장 많이 사용되는 것은 단연 Kubernetes입니다.
컨테이너 외에도 Kubernetes 을 시작할 때 이해해야 할 다른 중요한 개념이 있습니다. 몇 가지 주요 용어를 살펴보겠습니다:
컨테이너 배포에 대한 코드형 인프라 접근 방식이 유용할 수 있는 곳이라면 어디에서나 Kubernetes를 효과적으로 사용할 수 있습니다. 즉, 애자일 개발 팀과 DevOps 관행에 중점을 두는 팀은 종종 Kubernetes를 사용하여 지속적 통합/지속적 배포(CI/CD) 파이프라인을 자동화합니다. 또한, Kubernetes는 노드의 상태와 리소스 사용률을 모니터링하고 필요에 따라 확장 또는 축소하여 클라우드 네이티브 애플리케이션을 자동으로 확장할 수 있습니다.
물론 Kubernetes는 자동화 및 확장성 측면에서 가치를 더해주지만, 보안 팀에게는 새로운 고민거리를 추가하기도 합니다. 앱과 서비스가 안전하게 배포되도록 하려면 어떻게 해야 할까요? 항상 그렇듯이 위협 모델과 위험 성향을 이해하는 것에서 시작하지만, 시작하는 데 도움이 되는 몇 가지 기본 사항이 있습니다.
또한 컨테이너 가시성 및 취약성 스캔을 위한 계획을 수립하여 문제를 신속하게 해결하고 관련 표준을 계속 준수할 수 있도록 스캔하는 것도 중요합니다. 컨테이너 취약성 스캔 및 보안 상태 평가를 시작하려면 지속적인 컨테이너 가시성 및 컴플라이언스(PDF)를 읽어보시기 바랍니다.
이제 컨테이너 배포를 자동으로 제어하고 관리하는 Kubernetes의 작동 방식을 높은 수준에서 이해했으니, 다음 단계로 넘어가서 k8을 안전하게 배포할 수 있습니다. 컨테이너, Kubernetes 및 서버리스 인프라로 보안을 구현하는 방법에 대해 자세히 알아보려면 클라우드 보안 전문가 Hillel Solow가 진행하는 최신 클라우드 애플리케이션에 보안을 계층화하는 방법 웨비나를 무료로 시청하세요.