반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Litmus
- nginx ingress
- Kubernetes
- kubernetes operator
- argocd
- gitops
- Kubeflow
- operator
- xdp
- Model Serving
- knative
- CANARY
- opentelemetry
- 오퍼레이터
- Kubernetes 인증
- opensearch
- Continuous Deployment
- keda
- tekton
- Argo
- eBPF
- seldon core
- MLflow
- Pulumi
- blue/green
- serving
- 카오스 엔지니어링
- CI/CD
- mlops
- Kopf
Archives
- Today
- Total
Kubernetes 이야기
Bare metal VS VM Kubernetes 본문
반응형
Kubernetes는 Bare Metal 환경이든 VM 환경이든 모두 설치가 가능하다. 그럼 어떤 장단점이 있을까?
일반적으로 Bare Metal 환경에서 실행하면 성능 ( VM 기반 하이퍼바이저 운영으로 인한 물리적인 장비의 성능저하 ), 비용 ( 가상화 S/W 비용 ) 절감 등이 있다고 알려져 있다.
장점
- 비용
- 가상화 S/W 비용 절감
- Bare Metal 위의 OS 및 각 VM 에 설치되어야 하는 OS 비용 절감
- 가상화 관리를 위한 인건비 절감
- 관리
- 네트워크 구성 : 가상화 인프라 계층이 없으므로 네트워크 설정이 단순화 된다.
- 성능
- VM 대비 약 3배 정도 네트워크 지연이 낮음
- VM 대비 25~30% 성능 향상 ( 통상 하이퍼바이저 오버헤드는 약 10%내외이다. 적게는 2~3%이다. 하지만 OS가 유휴 상태일 때도 시스템 프로세스에서 일부 메모리와 CPU를 소비하는 게스트 운영 체제 환경의 리소스 소비에 대해 "지불"한다. 다중 테넌트 VM 기반 환경의 잡음이 많은 이웃 문제도 성능에 영향을 줄 수 있다. 한 노드에서 리소스 소비가 급증하면 동일한 서버에서 호스팅되는 다른 VM의 성능이 저하될 수 있다. VM이 호스트 서버에서 실행되는 일종의 오케스트레이터에 의해 관리되는 경우 리소스도 소모된다. )
- Kubernetes에서 호스팅하는 애플리케이션이 GPU와 같은 하드웨어 장치에 직접 액세스하여 이점을 얻을 수 있는 경우 베어메탈에서 실행하면 상당한 성능 이점을 제공할 수 있다.
- 가상화는 실패할 경우 성능 문제를 일으킬 수 있는 또 다른 계층을 소프트웨어 스택에 추가한다는 점에 주목할 가치가 있다. 노드가 충돌하고 다운되는 하이퍼바이저는 해당 노드에서 제공하는 리소스의 Kubernetes 클러스터를 박탈하여 Kubernetes에서 실행되는 애플리케이션의 성능을 저하시킬 수 있다
단점
Bare Metal의 주요 단점은 관리 및 노드 장애에 대한 복원력이다.
- 관리
- 스크립트 또는 VM 오케스트레이션 도구를 사용하면 미리 빌드된 이미지를 사용하여 많은 수의 VM을 빠르게 가동할 수 있다.
- 이미지를 사용하여 VM의 백업을 만들고 실패한 VM을 복원할 수도 있다. 대부분의 가상화 플랫폼은 다른 시점의 VM 상태를 저장할 수 있는 스냅샷 기능도 제공한다.
- 일반적으로 하나가 실패할 경우 교체 VM을 자동으로 시작하는 자동화된 장애 조치 도구를 제공한다.
- 서로 다른 VM에서 애플리케이션이 격리되는 VM 환경은 보안상 이점을 제공한다. ( Kata-Container 등 대안이 있기는 하다. )
위의 내용은 상용 가상화 S/W 인 경우가 대부분이다.
- 구성
- 비정상적인 인터페이스가 있거나 제대로 지원되지 않는 베어메탈 서버를 처리하는 경우 네트워킹, 스토리지 및 기타 리소스를 구성하는 것이 더 복잡할 수 있다.
- Kubernetes의 다양한 프로젝트들이 VM 환경에서 진행된다. Cluster AutoScaler, Kops, VM Provisioning 등.
Bare Metal 기반에서 Kubernetes를 운영하려고 하는 경우는 탄력성을 위해 적은 수의 고성능 서버보다 많은 수의 저성능 서버가 유리하다.
참고
https://platform9.com/blog/kubernetes-on-bare-metal-why-and-how/
https://thenewstack.io/kubernetes-on-bare-metal-vs-vms-its-not-just-performance/https://www.techtarget.com/searchitoperations/tip/Explore-the-benefits-of-containers-on-bare-metal-vs-on-VMs
https://ubuntu.com/blog/bare-metal-kubernetes-clusters-spectro-cloud-maas
반응형
'Kubernetes > 일반' 카테고리의 다른 글
Nginx ingress - External OAUTH Authentication ( Google ) (0) | 2022.04.17 |
---|---|
Kubernetes Cluster 설계 (0) | 2022.04.10 |
Vertical Pod Autoscaler (VPA) (0) | 2022.04.09 |
Service Account 권한 설정 및 kube config (0) | 2022.04.04 |
PodNodeSelector (0) | 2022.04.02 |
Comments