eta_kyung.blog
·9분

Kubernetes (14) - DaemonSet으로 노드별 Pod 실행하기

1. DaemonSet이 필요한 이유 Deployment는 원하는 개수의 Pod를 실행하지만, 어느 노드에 Pod가 배치될지는 스케줄러가 결정한다. 반면 DaemonSet은 선택된 각 노드에 Pod 복제본 하나씩 이 실행되도록 보장하는 워크로드 리소스다. 클러스터에 새…

·9분

Kubernetes (12) - ReplicaSet으로 원하는 Pod 수 유지하기

Pod는 노드 장애, 애플리케이션 오류, 실수로 인한 삭제처럼 여러 이유로 사라질 수 있다. ReplicaSet은 지정한 수의 Pod가 계속 실행되도록 유지 하는 컨트롤러다. Pod 수가 부족하면 새 Pod를 만들고, 많으면 일부 Pod를 제거한다. 이번 글에서는 NG…

·9분

Kubernetes (9) - requests와 limits로 Pod 리소스 관리하기

여러 Pod가 하나의 노드에서 함께 실행되면 CPU와 메모리를 무제한으로 사용하려는 컨테이너가 다른 애플리케이션의 실행을 방해할 수 있다. Kubernetes는 컨테이너의 resources.requests 와 resources.limits 로 필요한 자원과 사용할 수…

·5분

Kubernetes (6) - 환경 변수로 Pod 실행 설정하기

컨테이너 이미지는 여러 환경에서 같은 방식으로 재사용하고, 실행 환경마다 달라지는 값은 Pod 설정으로 분리하는 편이 좋다. Kubernetes의 환경 변수는 애플리케이션의 주소, 실행 모드, 기능 플래그처럼 컨테이너 시작 시 전달할 값을 선언하는 기본적인 방법이다.…

·7분

Kubernetes (5) - Pod 실행 설정과 Multi-Container 디자인 패턴

Pod는 하나 이상의 컨테이너를 함께 실행하는 Kubernetes의 최소 배포 단위다. 하지만 컨테이너를 한 Pod에 넣는다고 모두 같은 방식으로 협력하는 것은 아니다. 애플리케이션의 생명주기, 네트워크, 데이터 공유가 밀접할 때만 Multi Container Pod를…

·6분

Kubernetes (4) - Label과 Selector로 Kubernetes 리소스 연결하기

앞에서 Pod를 만들고 조회할 때는 리소스 이름을 사용했다. 하지만 같은 애플리케이션의 Pod가 여러 개로 늘어나거나 새 Pod로 교체되면 각각의 이름을 직접 관리하기 어렵다. Kubernetes는 Label로 리소스에 식별 정보를 붙이고, Selector로 조건에 맞…

·13분

Kubernetes (3) - Pod 컨테이너와 Multi-Container Pod 이해하기

Pod는 Kubernetes에서 컨테이너를 실행하는 가장 작은 배포 단위다. 간단한 웹 서버는 컨테이너 하나를 담은 Pod로 실행할 수 있고, 긴밀히 협력하는 컨테이너가 있다면 하나의 Pod에 함께 배치할 수도 있다. 이번 글에서는 Nginx 단일 컨테이너 Pod를 명…

·11분

Kubernetes (1) - kubectl 기본 명령어로 Pod와 Deployment 다루기

Kubernetes 클러스터와 상호작용할 때 사용하는 기본 CLI가 kubectl 이다. 리소스의 상태를 조회하는 것부터 Pod와 Deployment 생성, 컨테이너 로그 확인, 내부 애플리케이션 접속까지 대부분의 작업을 kubectl 명령으로 수행한다. 이번 글에서는…