[k8s] 서비스와 볼륨

안지환·2024년 5월 26일
0

DevOps

목록 보기
6/6

서비스

클러스터에 외부에서 클러스터에 접속하는 방법

  • 클러스터 내부에서 동작하는 기능을 외부로 노출 하는 것을 서비스(Service)라고 부릅니다.

서로 다른 서비스의 종류

  • 클러스터 IP(ClusterIP)
  • 노드 포트(NodePort)
  • 로드 밸런스(LoadBalancer)
  • 인그레스(Ingress)

클러스터 IP

  • 클러스터 내부에서만 접근할 수 있는 IP를 할당
  • 포트 포워딩 또는 프록시를 통해 클러스터 외부로부터 접근 가능
  • 테스트, 디버깅 등의 목적에 제한적으로 이용

노드 포트

  • 모든 워커 노드의 특정 포트(NodePort)를 열고 여기로 오는 모든 요청을 노드포트 서비스에 전달
  • 노드포트 서비스는 해당 요청을 처리할 수 있는 포드로 요청을 전달

로드 밸런스

  • 클러스터 외부의 로드밸런서를 이용하여 부하 균등화를 수행
  • 노드 포트와 달리 특정 노드가 접근 불가능한 경우에도 서비스 제공 가능

인그레스

  • 복수의 서비스에 대해 목적에 따라 트래픽을 연결하는 도구

동적 수평 오토스케일링

  • HPA(Horizontal pod Autoscaler)
    • 고려되는 부하량: CPU 및 메모리 사용량
  • 메트릭스 서버로부터 부하 계측값을 전달받아 동일한 기능을 제공하는 포드의 수를 동적으로 조절
  • 스케일링 기준이 되는 값과 최소/최대 포드의 수를 지정
  • 부하 상황에 따라 동적으로 디플로이먼트의 레플리카셋 크기를 조정

불륨(Volumes)

  • K8s는 클러스터 내에서 이용할 수 있는 저장장치(storage)의 추상화된 객체로 볼륭을 정의
  • PV(PersistentVolume)
    • 클러스터 내에 존재하는 스토리지를 추상화한 것
    • 클러스터 내의 노드에 존재하는 물리적 저장장치를 이용할 수 있으며, 다양한 원격 저장소 및 클라우드 서비스들도 이용 할 수 있음
  • PVC(PersistentVolumeClaim)
    • PV를 이용하기 위한 요청
    • Pod:Node = PVC:PV
    • 저장 공간의 크기와 접근 모드 (읽기/쓰기) 를 지정
  • 포드에서 바인드 마운트로 이용할 수 있는 저장장치
  • 변화하는 데이터를 기록, 저장하기 위해서 반드시 필요
profile
BackEnd Developer

0개의 댓글

관련 채용 정보