Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

3.6. 배포

3.6.1. 복제 컨트롤러

복제 컨트롤러를 사용하면 항상 지정된 수의 포드 복제본이 실행됩니다. Pod가 종료되거나 삭제되면 복제 컨트롤러가 작동하여 정의된 수까지 추가로 인스턴스화합니다. 마찬가지로 필요한 것보다 많은 Pod가 실행되고 있는 경우에는 정의된 수에 맞게 필요한 개수의 Pod를 삭제합니다.

복제 컨트롤러 구성은 다음과 같이 구성됩니다.

  1. 원하는 복제본 수(런타임 시 조정할 수 있음).
  2. 복제된 포드를 생성할 때 사용할 포드 정의입니다.
  3. 관리형 Pod를 확인하는 선택기

선택기는 복제 컨트롤러에서 관리하는 Pod에 할당한 라벨 세트입니다. 이러한 레이블은 복제 컨트롤러가 인스턴스화하는 포드 정의에 포함됩니다. 복제 컨트롤러에서는 필요에 따라 조정할 수 있도록 선택기를 사용하여 이미 실행 중인 Pod의 인스턴스 수를 결정합니다.

복제 컨트롤러에서 로드나 트래픽을 추적하지 않으므로 로드 또는 트래픽을 기반으로 자동 스케일링하지 않습니다. 대신 외부 자동 확장기에서 복제본 수를 조정해야 합니다.

복제 컨트롤러는 ReplicationController 라는 핵심 Kubernetes 오브젝트입니다.

다음은 ReplicationController 정의의 예입니다.

apiVersion: v1
kind: ReplicationController
metadata:
  name: frontend-1
spec:
  replicas: 1  1
  selector:    2
    name: frontend
  template:    3
    metadata:
      labels:  4
        name: frontend 5
    spec:
      containers:
      - image: openshift/hello-openshift
        name: helloworld
        ports:
        - containerPort: 8080
          protocol: TCP
      restartPolicy: Always
1
실행할 Pod의 사본 수입니다.
2
실행할 Pod의 라벨 선택기입니다.
3
컨트롤러에서 생성하는 Pod용 템플릿입니다.
4
Pod의 라벨에는 라벨 선택기의 해당 항목이 포함되어야 합니다.
5
매개변수를 확장한 후 최대 이름 길이는 63자입니다.