모험가

쿠버네티스란 본문

쿠버네티스/기초

쿠버네티스란

라리음 2022. 5. 17. 22:02

글은 인프런의 대세는 쿠버네티스를 보며 작성하는 글입니다.

 

쿠버네티스를 처음 접하는 입장에서 적는 글이기에 틀린 정보가 포함되어 있을 수 있음을 미리 말씀드립니다.

 

 

 

 

 

1. 왜 쿠버네티스인가?

 

- 기업은 어떤 시스템에 급증하는 트래픽을 미리 준비하기에는 많은 자원이 필요함. 심지어 여러 서비스를 운영할때는 더욱 더 힘들어짐

 

 

if 쿠버네티스를 이용하면

 

=> 이때 쿠버네티스의 오토 스케일링 서비스를 이용해서 서비스를 원활하게 돌아갈 수 있게끔 만들 수 있음. 

(Auto Healing)의 경우 장애를 대비해 더욱더 고가용성을 보장.

 

=> Deployment를 통해 자동화된 업데이트를 제공함.

 

 

 

 

 

 

2. VM vs Container

 

 

VM

 

Hypervisor처럼 하나하나 각각의 OS를 올려 가상화가 가능함

 

 

 

Container

 

docker에서는 컨테이너를 설치하면 리눅스의 버전 차이가 있더라도 컨테이너를 포함한 전체이기에 다른 버전에서도 호환이 가능함. 

 

OS에서 제공하는 자원 격리 기술을 이용해서 컨테이너라는 단위로 서비스를 분리!!!!

이러해서 버전에 상관없이 호환이 가능한 것

 

리눅스의 고유 기술을 이용함.

namespace :  커널에 관한 영역을 분리

cgroups : 자원에 관한 영역을 분리

 

 

 

 

하지만 VM에서는 게스트 OS의 보안이 뚫려도 다른 OS들과 분리가 되어있어서 안전하지만

Container은 서로 연결이 되어있어서 게스트 OS의 보안이 뚫리면 다른 곳들도 위험함.

 

 

 

 

1 파드가 1 배포의 단위임  (1 파드 안에 컨테이너가 포함되어 있음)

 

 

 

 

 

 

 

service는 서로 다른 Namespace 사이에 pod로 연결이 불가능함.

 

 

 

 

3. 컨트롤러

 

Replication Controller, ReplicaSet

- 파드가 죽는 것을 방지하여 살리거나 파드의 개수를 늘리거나 줄일 수 있음.

 

Deployment

- 배포 후에 파드들을 새로운 버전으로 업그레이드 및 롤백함.

 

DaemonSet

- 한 노드 안에 파드가 한 개씩 있게 만듬.

 

CronJob

- 어떠한 특정 작업을 주기적으로 써야 할 때 쓰임.

'쿠버네티스 > 기초' 카테고리의 다른 글

ConfigMap, Secret (기초)  (0) 2022.08.05
Volume (기초)  (0) 2022.07.28
Service (기초)  (0) 2022.07.28
POD (기초)  (0) 2022.07.28
kubernetes 설치  (0) 2022.07.27