VM vs Container

VM
Hypervisor
- OS가 독립된 것 처럼 보이게 HW를 쪼개주는 역할
- virtual box, Xen, KVM, VMware
- 하이퍼바이저를 사용하여 원하는 운영체제로 GuestOS를 올려 여러 VM을 만들 수 있음

Containers
Container Runtime
- OS를 쪼개서 OS 위에 독립되게 보여짐
- 패키지화된 SW에 대해서 전부 하나하나 실행시켜 분리 되게 해줌
- name space 와 cgroup 을 사용하여 리소스를 독립적으로 쓸 수 있게 함
Container 특징
Standard Packaging
Isolation and Efficiency
- 표준화된 패키징 방법
Portable
- 하드웨어A에서 돌리다 꺼내서 public cloud로 가도 돌아가는 특징, VM은 이식성이 없음
Separation of Concerns
- 분리되어 있는 VM에 비해 보안 문제가 좀 있었는데, 요즘은 그냥 같은 VM 위에 전부 내 컨테이너들만 있어서 괜찮음.
- 즉, 본질적인 보안문제는 해결된 건 아니지만, 일단 컨테이너가 내꺼만 있으니까 해결
Namespace와 Cgoups
요약하면 독립적인 환경을 만들기 위해 namespace를 사용하고 cgroup을 사용하여 자원 할당 등을 관리하게 됨
namespace
- 하나의 system에서 수행되지만, 각각 별개의 독립된 공간처럼 격리된 환경을 제공하는 가상화 기술
- vm에서 쓰이는 hypervisor는 hw 자원을 가상화하지만 namespace는 동일한 OS, kernel에서 작동함
- 이름 공간이 다르면 동일한 이름이라도 다른 실체로 처리
cgroup
- 자원 할당을 관리함
- cpu, memory 이런거 스케줄링 해주는 셈
'Kubernetes' 카테고리의 다른 글
Application Deployment (4) | 2024.11.06 |
---|---|
Configuration File (YAML format), Label, Selector (1) | 2024.10.29 |
Kubernetes Design Principle (2) | 2024.10.29 |
Kubernetes Architecture (1) | 2024.10.15 |
VxLAN에 대하여 (0) | 2024.09.11 |
VM vs Container

VM
Hypervisor
- OS가 독립된 것 처럼 보이게 HW를 쪼개주는 역할
- virtual box, Xen, KVM, VMware
- 하이퍼바이저를 사용하여 원하는 운영체제로 GuestOS를 올려 여러 VM을 만들 수 있음

Containers
Container Runtime
- OS를 쪼개서 OS 위에 독립되게 보여짐
- 패키지화된 SW에 대해서 전부 하나하나 실행시켜 분리 되게 해줌
- name space 와 cgroup 을 사용하여 리소스를 독립적으로 쓸 수 있게 함
Container 특징
Standard Packaging
Isolation and Efficiency
- 표준화된 패키징 방법
Portable
- 하드웨어A에서 돌리다 꺼내서 public cloud로 가도 돌아가는 특징, VM은 이식성이 없음
Separation of Concerns
- 분리되어 있는 VM에 비해 보안 문제가 좀 있었는데, 요즘은 그냥 같은 VM 위에 전부 내 컨테이너들만 있어서 괜찮음.
- 즉, 본질적인 보안문제는 해결된 건 아니지만, 일단 컨테이너가 내꺼만 있으니까 해결
Namespace와 Cgoups
요약하면 독립적인 환경을 만들기 위해 namespace를 사용하고 cgroup을 사용하여 자원 할당 등을 관리하게 됨
namespace
- 하나의 system에서 수행되지만, 각각 별개의 독립된 공간처럼 격리된 환경을 제공하는 가상화 기술
- vm에서 쓰이는 hypervisor는 hw 자원을 가상화하지만 namespace는 동일한 OS, kernel에서 작동함
- 이름 공간이 다르면 동일한 이름이라도 다른 실체로 처리
cgroup
- 자원 할당을 관리함
- cpu, memory 이런거 스케줄링 해주는 셈
'Kubernetes' 카테고리의 다른 글
Application Deployment (4) | 2024.11.06 |
---|---|
Configuration File (YAML format), Label, Selector (1) | 2024.10.29 |
Kubernetes Design Principle (2) | 2024.10.29 |
Kubernetes Architecture (1) | 2024.10.15 |
VxLAN에 대하여 (0) | 2024.09.11 |