Controller

레플리케이션 컨트롤러

  • replicaset 이 나오기 전 쿠버네티스 프로젝트의 초기부터 있었던 가장 기본적인 컨트롤러
  • pod가 항상 실행되도록 유지하는 쿠버네티스 리소스
  • 노드가 클러스터에서 사라지는 경우 해당 pod를 감지하고 대체 pod 생성
  • 실행 중인 포드의 목록을 지속적으로 모니터링하고 지정한 숫자만큼의 pod가 항상 클러스터 안에서 실행되도록 관리
# 조회
$ kubectl get rc

# 정보 확인
$ kubectl describe rc [rc name]

# 설정 조회, 수정
$ kubectl edit rc [rc name]

# 레플리카 숫자 변경
$ kubectl scale rc [rc name] --replicas=[number]

# 삭제
$ kubectl delete rc [rc name]

# 파드는 남기고 삭제(드물게 쓰임)
$ kubectl delete rc [rc name] --cascade=false
apiVersion: v1
kind: ReplicationController
metadata:
  name: http-go
spec:
  replicas: 3
  selector:
    app: http-go
  template:
    metadata:
      name: http-go
      labels:
        app: http-go
    spec:
      containers:
      - name: http-go
        image: rayshoo/http-go
        ports:
        - containerPort: 8080