[영상후기] [초보를 위한 쿠버네티스 안내서] 쿠버네티스 아키텍처 2/3 (오브젝트)

박철현·2023년 5월 15일
0

영상후기

목록 보기
126/160

movie

  • Pod : 가장 작은 배포 단위

    • 각 pod마다 고유한 IP 부여(IP를 통해 내부적 통신도 가능)
    • 여러 컨테이너가 하나의 Pod에 속할 수 있음
  • ReplicaSet : 여러개의 Pod을 관리

    • 신규 Pod을 생성하거나 기존 Pod을 제거하여 원하는 수(Replicas) 유지
  • Deployment : ReplicaSet을 활용한 배포 버전 관리(무중단 배포시 활용)

  • 그 외 쿠버네티스 제공 워크로드 방식

    • DAEMON SET : 모든 노드에 1개씩만 떠있길 바라는 pot을 만들고 싶을때 사용
      ex) 로고, 모니터링

    • STATEFUL SETS : 순서대로 pod을 실행하고 싶거나 같은 볼륨을 재활용

    • JOB : 한번 실행하고 죽는 Pod

  • Service - ClusterIP : Pod을 로드밸런서 하는 별도의 서비스

    • Pod은 동적이지만 서비스는 고유 IP를 가짐(Pod 개수의 변동이 있을 경우 죽이고 만들기 때문)
    • 클러스터 내부에서 서비스 연결은 DNS이용
    • 내부에서만 통신할 수 있음(외부 브라우저 불가)
  • Service - NodePort : 노드(host)에 노출되어 외부에서 접근 가능한 서비스

    • 노드 포트 생성 -> 여러 노드에 생겨 어느 노드에 보내도 원하는 ClusterIP를 찾아가줌
  • Service - LoadBalancer : 하나의 IP주소를 외부에 노출

    • 노드 포트 설정한 노드가 죽어버리면 연결이 끊기는 것을 방지
    • 사용자는 로드밸런서 -> 노드포트 -> ClusterIP -> Pod
  • Ingress : 도메인 또는 경로별 라우팅

    • 전부 다 노드밸런서 등 만들면 자원 낭비가 큼
    • 새로 만들지 않고 Nginx, HAProxy 등 재활용해서 쿠버네티스에 맞게 포장해서 사용
  • 일반적 구성 : Deployment 생성 -> ClusterIP -> Ingress 붙임(로드밸런서 자동으로 따라옴)

    • 실제 클라이언트는 도메인으로 접속 -> 로드밸런서 -> 클러스터IP -> Pod 연결
  • 그 외 기본 오브젝트

    • Volume - Storage(EBS, NFS,...)
    • Namespace - 논리적 리소스 구분
    • ConfigMap/Secret - 설정
    • ServiceAccount - 권한 계정
    • Rule/ClusterRole - 권한 설정(get, list, watch, create, ...)
      ...
    • 추상화 된 오브젝트가 많지만 원리를 알면 하나씩 이해하기 용이
profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

관련 채용 정보