You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »


Pod을 단독으로 만들면 Pod에 어떤 문제(서버가 죽어서 Pod이 사라졌다던가)가 생겼을 때 자동으로 복구되지 않습니다.

Pod을 정해진 수만큼 복제하고 관리하는 것이 ReplicaSet입니다.

ReplicaSet Manifests

https://dev-k8sref-io.web.app/docs/workloads/replicaset-v1/

  • apiVersion: 쿠버네티스 API버전을 가리킴

  • kind: 리소스 유형

  • metadata (ObjectMeta): 포드와 관련된 이름, 네임스페이스, 라벨, 그밖의 정보

    • namespace
    • name
    • labels
  • spec (ReplicaSetSpec): PodTemplate

    • template

      • metadata
        • name
        • labels
      • spec
        • containers
        • volumes
    • selector

    • replicas

  • status(ReplicaSetStatus) : 포드의 상태, 각 컨테이너의 설명 및 상태, 포드 내부의 IP 및 그밖의 기본 정보 등
nginx-rs.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-rs
  labels:
    app: myapp-rs
    type: front-end
spec:
  template:
    metadata:
      name: nginx
      labels:
        app: myapp
        type: front-end
    spec:
      containers:
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80
  selector:
    matchLabels:
      type: front-end
  replicas: 3


  • Labels and Selectors

    • Pod Discovery 기능: Label이 "type: front-end" 인 Pod만 Select

  selector:
    matchLabels:
      type: front-end
  • replicas

    • 유지할 Pod갯수
   replicas: 3 



sansae@sansaeAir15m2 ~ % k apply -f nginx-rs.yaml
replicaset.apps/nginx-rs created
sansae@sansaeAir15m2 ~ % k get all
NAME                 READY   STATUS    RESTARTS   AGE
pod/nginx-rs-6dzx9   1/1     Running   0          91s
pod/nginx-rs-kbkn8   1/1     Running   0          91s
pod/nginx-rs-ml42r   1/1     Running   0          91s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   6h13m

NAME                       DESIRED   CURRENT   READY   AGE



  • No labels