3.3.2. 리더 작업자 세트 배포
Leader Worker Set Operator를 사용하여 노드 간에 분산 워크로드 관리를 지원하기 위해 리더 작업자 세트를 배포할 수 있습니다.
사전 요구 사항
- Leader Worker Set Operator를 설치했습니다.
프로세스
다음 명령을 실행하여 새 프로젝트를 생성합니다.
$ oc new-project my-namespaceleader-worker-set.yaml이라는 파일을 생성합니다.apiVersion: leaderworkerset.x-k8s.io/v1 kind: LeaderWorkerSet metadata: generation: 1 name: my-lws namespace: my-namespace spec: leaderWorkerTemplate: leaderTemplate: metadata: {} spec: containers: - image: nginxinc/nginx-unprivileged:1.27 name: leader resources: {} restartPolicy: RecreateGroupOnPodRestart size: 3 workerTemplate: metadata: {} spec: containers: - image: nginxinc/nginx-unprivileged:1.27 name: worker ports: - containerPort: 8080 protocol: TCP resources: {} networkConfig: subdomainPolicy: Shared replicas: 2 rolloutStrategy: rollingUpdateConfiguration: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate startupPolicy: LeaderCreated다음과 같습니다.
metadata.name- 리더 작업자 세트 리소스의 이름을 지정합니다.
metadata.namespace- 실행할 리더 작업자의 네임스페이스를 지정합니다.
spec.leaderWorkerTemplate.leaderTemplate- 리더 pod의 pod 템플릿을 지정합니다.
spec.leaderWorkerTemplate.restartPolicy-
Pod 오류가 발생하는 경우의 재시작 정책을 지정합니다. 허용되는 값은 전체 그룹을 다시 시작하거나 그룹을 재시작하지 않도록
RecreateGroupOnPodRestart입니다. spec.leaderWorkerTemplate.size-
리더 Pod를 포함하여 각 그룹에 생성할 Pod 수를 지정합니다. 예를 들어
3의 값은 1개의 리더 Pod와 2개의 작업자 Pod를 생성합니다. 기본값은1입니다. spec.leaderWorkerTemplate.workerTemplate- 작업자 Pod의 Pod 템플릿을 지정합니다.
spec.networkConfig.subdomainPolicy-
헤드리스 서비스를 생성할 때 사용할 정책을 지정합니다. 허용되는 값은
UniquePerReplica또는Shared입니다. 기본값은Shared입니다. spec.replicas-
복제본 수 또는 leader-worker 그룹을 지정합니다. 기본값은
1입니다. spec.rolloutStrategy.rollingUpdateConfiguration.maxSurge-
롤링 업데이트 중에 replicas 값 이상으로 예약할 수 있는 최대
복제본수를 지정합니다. 값은 정수 또는 백분율로 지정할 수 있습니다.
구성할 수 있는 모든 필드에 대한 자세한 내용은 LeaderWorkerSet API 업스트림 문서를 참조하십시오.
다음 명령을 실행하여 리더 작업자 세트 구성을 적용합니다.
$ oc apply -f leader-worker-set.yaml
검증
다음 명령을 실행하여 Pod가 생성되었는지 확인합니다.
$ oc get pods -n my-namespace출력 예
NAME READY STATUS RESTARTS AGE my-lws-0 1/1 Running 0 4s my-lws-0-1 1/1 Running 0 3s my-lws-0-2 1/1 Running 0 3s my-lws-1 1/1 Running 0 7s my-lws-1-1 1/1 Running 0 6s my-lws-1-2 1/1 Running 0 6s-
my-lws-0은 첫 번째 그룹의 리더 포드입니다. -
my-lws-1은 두 번째 그룹의 리더 포드입니다.
-
다음 명령을 실행하여 상태 저장 세트를 검토합니다.
$ oc get statefulsets출력 예
NAME READY AGE my-lws 4/4 111s my-lws-0 2/2 57s my-lws-1 2/2 60s-
my-lws는 모든 leader-worker 그룹의 리더 상태 저장 세트입니다. -
my-lws-0은 첫 번째 그룹에 대한 작업자 상태 저장 세트입니다. -
my-lws-1은 두 번째 그룹에 대한 worker 상태 저장 세트입니다.
-