| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 도커
- 온프레미스
- 해시
- ResourceQuota
- goorm
- 빅데이터
- configmap
- 네트워크 가상화
- k8s
- 해커톤
- LimitRange
- 고가용성
- daemonset
- cronjob
- Replicaset
- 클라우드 네이티브 5회차
- namespace
- Web
- 네트워크
- 하둡
- 리소스 풀링
- docker
- OverTheWire
- 다중화
- Urn
- dns
- 혼잡제어
- 클라우드
- 핸드셰이크
- 웹 스토리지
- Today
- Total
NakedFlower 님의 블로그
Kubernetes 기초 본문
가상화 기술의 역사

왜 쿠버네티스를 사용해야하는가

과거 서버 관리 방식
- 낭비되는 서버 자원 발생
- 수동 서버 스케일링
쿠버네티스를 이용한 서버 관리 방식
- 자원 풀링을 통해 낭비되는 서버 자원을 최소화.9
- 오토 스케일링, 오토 힐링
VM과 컨테이너의 차이


namespace
커널에 관련된 영역 분리
cgroup
자원에 관련된 영역 분리
VM : 하이퍼바이저를 통해 Guest OS를 가상화해 동작하는 방식
컨테이너 : 호스트 OS 위에서 컨테이너 간 격리 환경을 통해 동작
시스템 구조적으로
컨테이너는 한 OS를 공유하는 개념이고 VM은 각각의 OS를 띄워여 하는 구조 -> 컨테이너가 훨씬 빠름
하지만, VM을 이용하면 호스트 OS가 윈도우더라도 게스트 OS로 리눅스 활용이 가능하지만, 컨테이너는 리눅스 OS에서 윈도우용 컨테이너를 사용할 수 없다.
또한 보안적으로 VM은 게스트 OS가 뚫려도 다른 게스트 OS나 호스트 OS랑은 완벽하게 분리되어 있어 피해가 전달되지 않지만, 컨테이너는 한 컨테이너가 뚫려서 OS영역에 접근을 하게 되면 다른 컨테이너들도 위험해진다.
리눅스, 도커, 쿠버네티스

리눅스 : 백엔드 서버를 직접 작성
도커 : 백엔드 서버를 Dockerfile이용해서 이미지로 만들고 이를 컨테이너로 실행하여 서비스 제공
쿠버네티스 : 도커 허브에 올려놓은 이미지를 이용해 pod와 컨테이너를 생성하고 yaml 파일을 작성하여 컨테이너 포트와 외부 포트를 매핑하여 서비스 제공하는 방식
Kubernetes Overview

- Kubernetes는 서버 한 대는 마스터로 쓰고, 다른 서버는 노드 개념으로 연결되어 하나의 클러스터로 묶임
- 마스터는 Kubernetes 의 전반적인 기능들을 컨트롤하는 역할이고 노드들은 자원을 제공하는 역할을 함
- 네임스페이스 객체는 Kubernetes 오브젝트들을 독립된 공간으로 분리하게 해줌
- Pod는 Kubernetes 의 최소 배포 단위
- 네임스페이스에는 Pod들이 외부로부터 연결이 가능하도록 IP를 할당해주는 서비스가 있음
- 파드 안에는 여러 컨테이너가 있음
- 볼륨을 파드에 연결하면 데이터를 저장할 수 있기 때문에 파드가 재생성되어 데이터가 삭제되는 문제를 해결할 수 있음
- 네임스페이스 객체에 리소스 쿼터와 리미트 레인지를 달아서 한 개의 네임스페이스에서 사용할 수 있는 자원의 양( 파드의 갯수, CPU, 메모리 등 )을 한정할 수 있음
- 컨트롤러가 파드들을 관리해줌
- Replicaset은 파드가 죽으면 감지해서다시 살려줌 / 파드 갯수도 조절 가능(스케일 인 or 아웃)
- Deployment는 배포 후에 파드들을 새 버전으로 업그레이드해줌
- DaemonSet은 한 노드의 파드가 하나씩만 유지되도록 해줌
- CronJob은 어떤 특정 작업만 하고 종료시켜야 하는 일을 할 때 파드가 그렇게 동작하도록 해줌
Reference : https://inf.run/yW34
'Kubernetes' 카테고리의 다른 글
| Kubernetes Controller (0) | 2025.10.22 |
|---|---|
| Kubernetes Objects(2) (0) | 2025.10.20 |
| Kubernetes Objects (0) | 2025.10.20 |