creative&enjoy

HS Consulting BUSINESS

Docker/kubernetes

Search posts
레플리카셋(Replica Set)
HSConsulting Hits:190 211.50.52.212
2021-02-02 09:08:05

일정개수의 포드를 유지하는 컨트롤러

1.Yaml 파일에 포드만 정의해 생성할 경우 해당 포드는 오직 쿠버네이트 사용자에 의해 관리 그러나 외부 사용자의 요청을 처리해야 하는 마이크로서비스 구조의 포드라면 이런 방식을 사용하기 어려움 마이크로서비스에서는 여러개의 동일한 컨테이너를 생성한 뒤 외부 요청이 각 컨테이너에 적절히 분배되어 있어야함 쿠버네티스는 기본 단위가 포드이기 때문에 동일한 여러개의 포드를 생성해 외부 요청을 각가을 포드에 분배하는 방식을 사용, 포드가 위치한 노드에 장애가 발생해 더 이상 포드에 접근하지 못할때 직접 포드를 삭제하고 다시 생성하지 않으면 해당 포드는 다시 복구되지 않는다. 이처럼 포드만 Yaml로 정의해 사용하는 방식은 적절치 않음, 이러한 한계점을 해결하기 위해 레플리카셋이라는 쿠버네티스 오브젝트가 존재함

 

2. 레플리카세은 정해진 수의 동일한 포드가 항상 실행되도록 관리, 노드 장애 등의 이유로 포드를 사용할 수 없다면 다른 노드에서 포드를 다시 생성

 

3.replicaset-nginx.yaml 파일

apiVersion: apps/v1

kind: ReplicaSet

metadata:

name:replicaset-nginx

spec:

replicas: 3       //동일한 포드를 몇개 유지시킬것인지 설정

selector:

matchLabels:

app:my-nginx-pods-label

template:

metadata;

name:my-nignx-pod

labels

app:my-nginx-pods-label

spec

containers:

-name:nginx

image:nginx:latest

ports:

-containerPort:80

Comment[0]

OPEN Close