쿠버네티스 네번째 이야기

진영민·2023년 12월 3일
0

kubernetes

목록 보기
4/4

이번 글에서는 쿠버네티스의 애플리케이션 스케일링을 다룰 것이다.

레플리카셋

레플리카셋은 파드를 관리하는 컨트롤러 리소스다.
디플로이먼트는 레플리카셋을 관리한다.

레플리카셋은 루프를 돌며 관리 중인 리소스 수와 필요한 리소스 수를 확인하기 때문에 삭제된 파드를 대체할 수 있다.

spec:
  replicas: 3

replica를 늘리면 해당 개수의 파드가 생성되며, 요청을 보낼 경우 쿠버네티스가 이 파드에 요청을 고르게 분배한다.

클러스터 IP는 파드의 IP주소의 추상화 버전이며, 파드가 교체되더라도 애플리케이션은 동일한 주소를 이용하여 파드에 접근할 수 있다.

하지만 결국 레플리카셋도 디플로이먼트가 관리하기 때문에, 레플리카를 직접 생성할 필요는 없고 디플로이먼트만 생성하면 된다.

디플로이먼트

디플로이먼트는 레플리카셋을 관리한다.
레플리카셋을 생성했는데, 파드의 정의가 바뀌면, 새로운 파드를 생성하며 기존의 파드를 하나씩 줄인다.

수동 스케일링

$kubectl scale --replicas=4 deploy/{파드 이름}

이러한 명령어를 이용하여 파드 수를 조정할 수 있지만, 새로 $kubectl apply를 통해 적용하면 이전의 설정은 파기된다.

데몬 셋

리눅스의 백그라운드에서 단일 인스턴스로 동작하는 데몬에서 따온 이름이다.
쿠버네티스의 데몬셋은 클러스터 내 선택한 모든 노드에서 단일 레플리카 또는 파드로 동작하는 리소스이다.
노드에 실행되는 파드가 하나이다.

nodeSelector:
	key:value

특정 노드에서만 파드를 실행하는 정의이다.
해당 조건을 만족하는 노드에만 파드를 생성하며, 만약 해당하는 노드가 없을경우 파드를 생성하지 않는다.

profile
코린이

0개의 댓글