Kubernetes 기초 (7) - ReplicaSet

이것저것 개발자·2022년 4월 27일
0

kubernetes 기초

목록 보기
7/16

ReplicaSet은 무엇일까?

ReplicaSet은 Pod 복제본을 생성하고 관리한다.

  • N개의 Pod을 생성하기 위해 생성명령을 N번 실행할 필요가 없다.
  • ReplicaSet오브젝트를 정의하고 원하는 Pod의 개수를 replicas속성으로 선언
  • 클러스터 관리자 대신 Pod 수가 부족하거나 넘치지 않게 Pod수를 조정

Pod에 문제가 생겼을 때

  • Pod은 즉시 종료되고 클라이언트 요청을 처리할 수 없다
  • 클러스터 관리자가 24/7 동안 Pod상태를 감시하고 정상 복구해야한다.

소프트웨어가 내결함성을 가진다 - fault tolerance

  • 소프트웨어나 하드웨어에 실패가 발생하더라도 소프트웨어가 정상적인 기능을 수행할 수 있어야 한다
  • 사람의 개입없이 내결함성을 가진 소프트웨어 구성

Pod/노드 상태에 따라 Pod의 수를 조정할 수 있도록 ReplicaSet에게 역할을 위임

  • ReplicaSet을 이용해 Pod 복제 및 복구 작업을 자동화
  • 클러스터 관리자는 ReplicaSet을 만들어 필요한 Pod의 개수를 쿠버네티스에게 선언
  • 쿠버네티스가 ReplicaSet 요청서에 선언된 replicas를 읽고 그 수 만큼 Pod의 실행을 보장

선언 방법

# kubernetes API 버전
apiVersion: apps/v1

# 오브젝트 타입
kind:ReplicaSet

metadata:				# 오브젝트를 식별하기 위한 정보
	name: blue-app-rs	# 오브젝트 이름
    labels:				# 오브젝트 집합을 구할 때 사용할 이름표
    	app: blue-app
        
spec:					# 원하는 Pod의 상태
	selector:			# 관리할 Pod을 선택하기 위한 label query
    	matchLabels:
        	app: blue-app	# 이곳에 label query 작성
    replicas:			# 실행할 Pod 복제본의 개수
    template:			# Pod 실행 정보
    	(... metadata, spec 등)

spec.replicas를 선언하지 않으면 기본값은 1

profile
조호영, Developing something

0개의 댓글