본문 바로가기

K8s/컨테이너 격리3

컨테이너 격리 - process 컨테이너 격리 - processFilesystem 격리의 문제앞서 실습했던 chroot, pivot_root+mount namespace 의 경우 filesystem만이 격리되어 있었습니다. 그렇기 때문에 다른 Host의 프로세스가 보이거나 , 호스트의 포트를 쓴다거나, root권한이 있는 문제가 있습니다.그래서 프로세스 자체에 격리된 환경을 제공하는 namespace라는 메커니즘이 등장합니다. 리눅스의 커널을 사용하여 동작하며 모든 프로세스는 타입별로 네임스페이스에 속하고, 자식 프로세스는 부모의 네임스페이스를 상속한다는 특징이 있습니다. 나아가 프로세스는 네임스페이스 타입별로 일부는 호스트(root) 네임스페이스를 사용하고 일부는 컨테이너의 네임스페이스를 사용할 수 있습니다. 즉, mount 네임스페.. 2024. 8. 31.
리눅스 프로세스 격리 - filesystem 리눅스 프로세스 격리 - filesystem격리 기술은 Container만이 있는 것이 아니다. 해당 계시글은 지금까지의 프로세스 격리 기술은 하나씩 실습하여 정리하고 있다.격리 기술의 역사1 chroot를 통한 격리 구현특정 프로세스에게 특정 디렉토리를 root 디렉터리로 속이는 기술입니다. ( chroot = change root )현재는 탈옥이 가능하여 사용하지 않습니다. 탈옥을 통해 격리가 되어있더라도 외부로 접근할 수 있기 때문에 보안상 문제가 생기기 때문입니다1) Chroot 격리 구현더보기1) 루트 디렉토리로 속일 폴더 생성cd /tmpmkdir myroot 2) chroot 명령어 사용# chroot [옵션] {경로} {사용할 명령어}chroot /tmp/myroot /bin/sh 지금까지.. 2024. 8. 31.
도커 기본 설명 도커 컨테이너 격리도커도커란?도커(Docker)는 가상실행 환경(Container)를 제공해주는 하나의 플랫폼입니다. 명확히 표현하자면 “컨테이너화된 프로세스(Containerized Process) 입니다.그렇다면 도커를 사용하는 이유는 무엇일까요? 과거 어떤 프로그램을 개발할 시 모든 환경에서 동일하게 동작할 것이라는 보장이 없었습니다. 개발자의 PC에서는 정상적으로 실행되던 애플리케이션이 사용자의 PC에서는 돌아가지 않을 수 있습니다. 이때 이러한 애플리케이션을 Container로 만들어 놓는다면 도커가 설치된 환경이든 동일하게 실행될 수 있습니다.Container와 VM가상화 하면 Docker 말고도 VM(가상 머신)을 생각하시는 분들도 있을 것이라 생각합니다.그렇다면 VM과 Docker Cont.. 2024. 8. 31.