# replicaset-nginx.yaml
# [1] 기본 항목
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
  
# [2] ReplicaSet 스펙
spec:
  replicas: 3 # Pod의 수
  selector: # Pod 템플릿의 검색 조건
    matchLabels:
      app: nginx-replicaset // 둘이
  
  # [3] Pod 템플릿
  template:
    metadata:
      labels:
        app: nginx-replicaset // 일치해야함
        env: prod
   
    # [4] Pod 스펙
    spec:
      containers:
      - image: nginx
        name: nginx-replicaset
        ports:
          - containerPort: 80

1. 기본 항목

apliVersion → API 버전, 존재하지 않는 값을 설정하면 오류 발생

kind → 쿠버네티스 리소스의 종류 (ReplicaSet, Deployment)

metadata → **해당 리소스 이름**이나 **레이블**과 같은 메타데이터(다른 데이터를 설명해주는 데이터)

spec → 상세 정보 설정


2. 리소스 스펙

replicas → 클러스터 안에서 가동시킬 파드 수 (defalut = 1)

selector → 어떤 파드를 가동시킬지에 대한 셀렉터, 파드의 Template에 설정된 라벨과 일치해야함

template → 클러스터 안에서 가동되는 파드 수가 replicas의 수를 만족하지 않을 때 새로 작성되는 파드 템플릿


3. 파드 템플릿

어떤 파드를 실행할지에 관한 정보 설정 따라서 템플릿 필드 하위에 다시 spec, metadata 설정하는 필드 존재

metadata → 템플릿의 이름이나 레이블과 같은 메타데이터