Kubernetes 개념-1 오브젝트(object)

sue·2023년 3월 23일
0

Kubernetes

목록 보기
5/5

쿠버네티스의 핵심은 상태 이며 쿠버네티스를 사용하기 위해 어떤 상태가 있고 어떻게 상태를 선언하는지를 알아야함

오브젝트

쿠버네티스는 상태를 관리하기 위한 대상을 오브젝트로 정의

  • 오브젝트 종류

    • Pod
      - 쿠버네티스에서 배포할 수 있는 가장 작은 단위
      - 한 개 이상의 컨테이너와 스토리지, 네트워크 속성을 가짐
      - Pod에 속한 컨테이너는 스토리지와 네트워크를 서로 공유함
      - 서로 localhost로 접근 가능

    • Replicaset
      - Pod를 여러 개 (한 개 이상) 복제하여 관리하는 오브젝트
      - Pod를 생성하고 개수 유지를 위해 반드시 Replicaset을 사용해야함
      - 복제할 개수, 개수를 체크할 라벨 선택자, 생성할 Pod의 설정값등을 가지고 있음
      - 직접적으로 Replicaset을 사용하기보단 Deployment등 다른 오브젝트에 의해서 사용되는 경우가 많음

    • Service
      - 네트워크와 관련된 오브젝트
      - Pod를 외부 네트워크와 연결
      - 여러 개의 Pod를 바라보는 내부 로드 밸런서를 생성 시 사용
      - 내부 DNS에 서비스 이름을 도메인으로 등록하기 때문에 서비스 디스커버리 역할도 함

      • Endpoints 리소스
        • ServicePod는 직접 연결되어 있는 구조가 아니라 실제로는 그 사이에 Endpoint 리소스가 위치해서 관리를 함
        • kubectl describe 명령을 통해 service 하위에 Endpoints라는 항목이 service와 연결된 Pod들의 IP와 Port를 리스트 형태로 가지고 있음
        • kubernetes는 service에 요청이 들어오면 이 Endpoint 중 하나로 리다이렉트함
        • serviceendpoint 연결 관리는 proxy 모듈에서 수행
      • EndpointSlice 리소스
        • 초창기 설계보다 쿠버네티스 클러스터에서 더 많은 수의 파드로 더 많은 트래픽을 전송하는 방향으로 성장하게 됨
        • 그에 따라 Endpoints 리소스가 처리할 수 있는 한계에 도달
        • 서비스에 연결된 모든 네트워크 Endpoint가 한 Endpoint 리소스에 연결되다 보니 Endpoint 변경 시 성능에 큰 영향을 미치게 됨
        • EndpointSlice는 기존의 Endpoint를 포함하는 형태로 한 단계 더 추상화된 리소스
    • Volum

      • 저장소와 관련된 오브젝트
      • 호스트 디렉토리를 그대로 사용할 수 있으며 EBS 같은 스토리지를 동적으로 생성하여 사용 가능
      • 인기 있는 대부분의 저장 방식을 지원
profile
All is well ! 🔥

0개의 댓글