ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [K8s] 쿠버네티스 3 개념이해 2
    CLOUD/K8s 2021. 2. 23. 17:32
    반응형

    bcho.tistory.com/1257?category=731548보고 따라쓰기

    고급 컨트롤러

    RC, RS, Deployment는 웹 서버와 같은 일반적인 워크로드에 대해 Pod를 관리하기 위한 컨트롤러

    실제 운영환경에서는 더 다양한 형태의 워크로드 모델이 존재하므로 k8s는 다양한 컨트롤러를 제공해 Pod의 운영을 다양한 시나리오에 맞게 지원

    Daemon Set (DS)

    • Pod가 각각의 노드에서 하나씩만 돌게 하는 형태로 Pod를 관리 
    • DS에 의해 관리되는 Pod는 모든 노드에 균등하게 하나씩만 배포됨. ( RC와 RS에 의해서는 일반적으로 비 균등적)

    → 서버의 모니터링이나 로그 수집 용도로 많이 쓰임 

    → 특정장비, 노드들에만 Nvme SSD를 사용하거나 GPU를 사용할 경우 그 장비가 설치된 노드만을 모니터링하면 됨.

     

     

    → 특정 노드들에만 Pod가 배포되도록 설정이 가능함 - node selector이용

     

    Job

    • 배치나 한번 실행되고 끝나는 형태의 워크로드 모델을 지원하는 컨트롤러
    • 원타임 파일 변환, 주기적 ETL 배치 작업 . 웹 서버처럼 계속 Pod가 떠있을 필요 없이 작업을 할 때만 Pod를 띄우면됨.
    • Job에 의해 관리되는 Pod는 Job이 종료되면 Pod를 같이 종료→ Job정의시 컨테이너 스펙에 Job수행 커맨드도 같이 입력

    apiVersion: batch/v1kind: Jobmetadata: name: pispec: template:   spec:     containers:     - name: pi       image: perl       command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]     restartPolicy: Never backoffLimit: 4

     

    • Job컨트롤러에 의해 실행된 Pod는 이 command의 실행 결과에 따라 Job의 실패/성공 여부를 판단. (프로세스의 exit코드)
    • Job이 끝나기 전 비정상적 종료?
      • 다시시작 / 다시시작 X ( RC/RS에 의해 관리되는 Pod는 자동생성 될것이고 not managed Pod은 사라질것임)
      • 다시시작은 resume이 아닌 restart(상태보장x 다시 처음부터 작업 시작) 이므로 데이터 겹치는 문제 없을 형태여야함.
    • Job 설정
      •  completion 횟수 - 같은 작업을 순차 반복한다.
      • parallelism 횟수 -  병렬로 처리. 

     

    Cron jobs

    주기적으로 자동화해서 실행해주는 컨트롤러 

    시간에 따른 실행 조건, 이에 따라 Job컨트롤러 실행하여 정의된 Pod실행.

    spec:

        schedule: "*/1 * * * * "

     

    statefulset

    DB와같은 상태를 가지고 있는 Pod를 지원하기 위한 컨트롤러.  다음에 다시 설명

    'CLOUD > K8s' 카테고리의 다른 글

    [K8s] 쿠버네티스 4 아키텍쳐  (0) 2021.02.23
    [K8s] 쿠버네티스 2 개념이해 1  (0) 2021.02.23
    [K8s] 쿠버네티스 1 - 소개  (0) 2021.02.23

    댓글

Designed by Tistory.