Pod란?Pod란 Kubernetes의 기본 단위로, 하나 이상의 컨테이너를 포함하는 컨테이너의 집합이다.이런 Pod는 여러 컨테이너가 함께 배치되어 서로 네트워크와 스토리지 자원을 공유하는 격리된 환경을 제공하는데,이런 점으로 볼 때 K8S 환경에서 Pod하나는 하나의 어플리케이션의 기본 배포 단위로 보기도 한다.(물론 다른 식으로 Pod간 통신이나 여러 동작들이 있을 수 있다.)https://kubernetes.io/docs/concepts/workloads/pods/ Pod는 아래의 속성을 가진다고 할 수 있다.컨테이너 그룹: 하나의 Pod 내에는 여러 컨테이너가 포함될 수 있다.Pod 내에서 실행되는 모든 컨테이너는 동일한 노드에서 실행되며, Pod의 생명 주기를 공유한다. 즉, Pod가 삭제되면..
Kubernetes란?앞서 알아본 컨테이너를 시스템 차원에서 자동으로 관리해주기 위한 오픈소스 플랫폼이다.워낙 유명하기도 하고 이전에 많이 테스트해보기도 했기 때문에 간단한 정리와 추후에 시간을 내서 더 공부하기 위한 Deep Dive 자료만 추가로 정리한다.Kubernetes의 역할https://kubernetes.io/docs/concepts/overview/#why-you-need-kubernetes-and-what-can-it-do OverviewKubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarativ..
Linux Container 격리https://ersia.tistory.com/45 [Study][K8S Network] Linux Container 격리 - 2Linux Container 격리https://ersia.tistory.com/44 [Study][K8S Network] Linux Container 격리 - 1Docker란?Docker 란 어플리케이션 영역을 인프라와 분리해 가상의 실행환경을 제공해주는 오픈소스 플랫폼이다.흔히 Dockerersia.tistory.com해당 글에 이어서 Namespace에 대해 좀 더 상세히 알아보자.지금까지 chroot와 pivot_root를 통해 파일시스템의 격리를 테스트했다.하지만 파일시스템이 격리된 상태에서 프로세스를 조회해보면 여전히 프로세스들 간에 격..
Linux Container 격리https://ersia.tistory.com/44 [Study][K8S Network] Linux Container 격리 - 1Docker란?Docker 란 어플리케이션 영역을 인프라와 분리해 가상의 실행환경을 제공해주는 오픈소스 플랫폼이다.흔히 Docker 엔진 설치와 Docker 명령어를 통해 이미 패키징된 어플리케이션을 가져와ersia.tistory.com해당 글에 이어서 chroot에 대해 좀 더 상세히 알아보자.chroot의 한계점chroot를 통해 파일 시스템 격리를 수행했지만 실제 container 격리에 chroot가 사용되지는 않는데,chroot의 격리에는 한계점이 존재하기 때문이다. 그 중에 하나인 탈옥이 가능한 취약점을 아래의 과정을 통해 알아보자.c..
Docker란?Docker 란 어플리케이션 영역을 인프라와 분리해 가상의 실행환경을 제공해주는 오픈소스 플랫폼이다.흔히 Docker 엔진 설치와 Docker 명령어를 통해 이미 패키징된 어플리케이션을 가져와 가상의 환경에서 빠르고 편하게 관리할 수 있다.이번 스터디에서는 단순 명령어로 Wrapping 된 Container를 사용하기 위해서 어떤 기술이 필요한지, 실제 물리 서버와 가상환경을 어떻게 격리한 것인지 조금 더 자세히 알아봤다.Container란?Container를 어떻게 격리하는 것인지 알기에 앞서, Container가 무엇인지 알아야 뭐를 격리한건지 알 수 있다.Docker에서는 가상의 실행환경을 Container라고 부른다.좀 더 정확히 표현하는 용어는 '컨테이너화된 프로세스(Contain..
IaC Automation with EKS 일반적으로 EKS는 Kubernetes를 통해 컨테이너화된 어플리케이션을 관리, 배포하는 용도로 많이 사용된다. 하지만 어플리케이션을 서비스하는데 필요한 AWS 자원(Route53, ELB 등)까지 점점 영역을 넓혀가면서 요즘들어 인프라 관리까지도 EKS와 같은 Kubernetes를 통해서 관리하는 도구 및 방법들이 활성화 되고 있다. 이런 도구들 중 Crossplane이라는 도구에 대해서 알아보고 간단한 테스트를 해보았다. Crossplane이란? 2018년에 Upbound라는 회사에서 만들었고 2021년 9월에 CNCF Incubating 프로젝트로 승인되었다. 공식 문서에서는 CrossPlane을 오픈소스 멀티 클라우드 컨트롤 플레인이라고 소개한다. Cro..
EKS Security EKS의 경우 AWS에서는 보안에 대한 책임을 AWS와 고객의 공동 책임이라고 설명한다. 자체 관리형 노드와 AWS Fargate를 사용하는 Amazon EKS에 대한 AWS 공동 책임 모델을 보면 모두 Master Node에 대한 책임은 AWS에서 담당하는 것을 볼 수 있다. 일반적인 Kubernetes에 비해 보안적 부담이 덜한 셈이지만 어떤 부분이 취약한지, 보안을 강화하기 위한 기준이 어떤 것인지 사용자 입장에서는 어려울 수 있다. 스터디에서는 Kubernetes 인증과 인가, 권한 부분에 대한 실습을 통해 기술적인 공부를 진행했기에, 블로그에서는 EKS 보안의 기준과 EKS 보안을 강화하는데 좀 더 간편한 방법 또는 도구가 있는지에 대해 공부해보고 정리해보았다. https..