3.6. 배포
3.6.1. 복제 컨트롤러
복제 컨트롤러를 사용하면 항상 지정된 수의 포드 복제본이 실행됩니다. Pod가 종료되거나 삭제되면 복제 컨트롤러가 작동하여 정의된 수까지 추가로 인스턴스화합니다. 마찬가지로 필요한 것보다 많은 Pod가 실행되고 있는 경우에는 정의된 수에 맞게 필요한 개수의 Pod를 삭제합니다.
복제 컨트롤러 구성은 다음과 같이 구성됩니다.
- 원하는 복제본 수(런타임 시 조정할 수 있음).
- 복제된 포드를 생성할 때 사용할 포드 정의입니다.
- 관리형 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