쿠버네티스의 패턴

2025. 11. 5. 15:11·개발 공부/k8s

개요

  • 자주 사용되는 패턴들을 기억해놓으면 오픈 소스 파악이나 설치하는 데 유리함
  • 쿠버네티스의 기본 리소스만 사용한 패턴이 존재함
  • pod 안에 container가 작동하는 패턴이 존재함
  • CRD가 사용된 패턴이 존재함
    • Helm만 써도 리소스 중복 등에서 자유롭지만 CRD의 경우 고도화된 어플리케이션에서 좋음

쿠버네티스 기본 컨트롤러와 리소스가 이용된 패턴

  • 대표적으로 DaemonSet과 CronJob, Job 등이 존재함
  • DaemonSet은 모든 노드에 해당 Pod를 하나씩 설치해주는 것으로 모든 노드에 pod가 존재하기 때문에 각 노드의 모니터링, 노드 안에 저장 되는 로깅, 네트워크를 최적화 시킬 수 있은 nginx 인그레스 등에 사용이 됨
  • CronJob, Job은 기다렸다가 실행되는 로직을 처리할 수 있음. 
    • Job의 parallelism은 동시에 실행되는 것이고 completions는 최종적으로 실행되는 것임. 그리고 backoffLimit는 재시도 로직인다
      • 위 예시처럼 각각을 2, 4, 1로 처리했다면 처음에 실행할 때 2개가 성공이 뜨면 다시 2개가 실행이 되는데 하나가 실패가 나면 다시 재시도를 하여 성공이 뜨는지를 보고 completions가 제대로 동작하는 지를 확인하는 것임
    • CronJob은 이러한 Job들을 모아서 실행시켜주는 것임
      • CronJob없이 Job 실행 가능

Pod의 디자인 패턴

  • Pod는 처음에 격리 시켜주는 Pause Container가 존재하며 그 다음 InitContainer가 초기화 작업, 메인 작업과 보조 작업은 main과 sideCar 컨테이너가 실행함
  • 위의 초기화 패턴을 보면 처음에 초기화할 때 하면 좋은 패턴들이 많이 나옴
  • 사이드카 컨테이너는 메인 컨테이너와 같이 설정이 되고 yaml 파일을 봤을 때는 구별 불가
    • 해당 pod의 사이드 기능을 한다고 보면됨
  • 참고로 어댑터 패턴은 데이터 중계, 앰버서더 패턴은 통신 중계라는 차이점이 존재함

CRD가 사용된 패턴

  • CRD는 생성해야할 pod를 추상화 시켜 제공해주는 것으로 kind에는 이름이 versions에는 들어가는 속성들이 들어감
  • 쿠버네티스 개발자가 CRD를 정의해주면 데브옵스 엔지니어가 CRD를 생성함
  • 이름의 경우 기본적으로 도메인 이름이 들어감 (필수는 아니고 약속임)

  • CRD를 사용하는 패턴에는 복잡한 일을 대신 해주는 오퍼레이터 패턴과 목표 대상과 제어 대상을 동기화 시켜주는 재조정 패턴이 존재함

 

출처: https://inf.run/wLXM7

저작자표시 (새창열림)

'개발 공부 > k8s' 카테고리의 다른 글

쿠버네티스 모니터링 (feat. Prometheus)  (0) 2025.11.24
쿠버네티스 업그레이드  (0) 2025.11.08
쿠버네티스의 PVC, PV  (0) 2025.11.01
쿠버네티스의 Ingress  (0) 2025.10.30
쿠버네티스의 Service  (0) 2025.10.27
'개발 공부/k8s' 카테고리의 다른 글
  • 쿠버네티스 모니터링 (feat. Prometheus)
  • 쿠버네티스 업그레이드
  • 쿠버네티스의 PVC, PV
  • 쿠버네티스의 Ingress
Jamey
Jamey
  • Jamey
    컴공 대학생의 이야기
    Jamey
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 개발 공부 (33)
        • k8s (24)
        • kafka (8)
        • AI (1)
      • 개발기 (2)
      • 프로젝트 홍보 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    Kafka
    sql자동화
    Producer
    조인 쿼리
    llm최적화
    Graphana
    Rag
    consumer
    Linux
    langchain
    Jenkins
    카프카
    AI
    cloudflare workers
    topic
    Kubernetes
    serialDB
    current offset
    토픽
    K8S
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Jamey
쿠버네티스의 패턴
상단으로

티스토리툴바