Kubernetes

쿠버네티스 구성요소 카테고리

jih0ssang 2024. 1. 6. 18:16

워크로드 API 카테고리

  • 파드
  • 레플리케이션 컨트롤러
  • 레플리카셋
  • 디플로이먼트
  • 데몬셋
  • 스테이트풀셋
  • 크론잡
리소스 종류 사용 방법
파드 디버깅이나 확인 용도로 사용
레플리카셋 파드를 스케일링하여 관리
기본적으로 디플로이먼트를 통해 사용
디플로이먼트 스케일링할 워크로드에 사용
데몬셋 각 노드에 파드 하나씩 배포할 때 사용
스테이트풀셋 영속성 데이터 등의 상태를 가진 워크로드에 사용
작업 큐나 태스크 등 컨테이너 종료가 필요한 워크로드에 사용
크론잡 정기적으로 잡을 생성하고 싶은 경우 사용

 

서비스 API 카테고리

  • 서비스
    • ClusterIP
    • ExternalIP (ClusterIP의 한 종류)
    • NodePort
    • LoadBalancer
    • Headless (None)
    • ExternalName
    • None-Selector
  • 인그레스
  • 시크릿
  • 컨피그맵
  • 영구 볼륨 클레임

 

클러스터 API 카테고리

  • 노드
  • 네임스페이스
  • 영구 볼륨
  • 리소스 쿼터
  • 서비스 어카운트
  • 클러스터 롤
  • 롤바인딩
  • 클러스터롤바인딩
  • 네트워크 정책

 

메타데이터 API 카테고리

  • LimitRange
  • HPA(HorizontalPodAutoscaler)
  • PDB(PodDisruptionBudget)
  • 커스텀 리소스 데피니션(CustomResourceDefinition)

쿠버네티스 장점 

1. 선언적 코드를 사용한 관리(IaC)

2. 스케일링/오토 스케일링

  • ReplicaSet
  • ReplicaController

3. 스케줄링

4. 리소스 관리

5. 자동화된 복구

6. 로드 밸런싱과 서비스 디스커버리

 

쿠버네티스 환경 구성을 위한 방식

쿠버네티스는 여러 플랫폼 환경에서 클러스터를 구성하여 사용할 수 있다.

구성하는 방식은 크게 3가지 방식이 있다. 

 

로컬 쿠버네티스

  • 물리적 머신 한 대에 구축하여 사용
  • 예)
    미니큐브
    Docker Desktop for Mac / Windows
    kind (Kubernetes in Docker)

 

쿠버네티스 구축 도구

  • 도구를 사용하여 온프레미스/클라우드에 클러스터 구축하여 사용
  • 예)
    Kubeadm
    Rancher

 

 

관리형 쿠버네티스 서비스

  • 퍼블릭 클라우드의 관리형 서비스로 제공하는 클러스터를 제공
  • 예)GKEAKS
    EKS