1. 계층별 API 그룹 (API Groups)
쿠버네티스는 기능을 체계적으로 관리하기 위해 API를 여러 그룹으로 쪼개 놓았습니다.
| 구분 | API 그룹 명칭 | 주요 역할 및 리소스 |
2. 목적에 따른 API의 3가지 얼굴
우리가 API를 접하는 방식에 따라 아래 3가지로 구분할 수도 있습니다.
① 리소스 API (Resource API)
가장 흔히 사용하는 API입니다.
YAML 파일을 통해 "이런 상태를 만들어줘"라고 요청하는 대상입니다. (예: Deployment API, Pod API)
② 메트릭 API (Metrics API)
클러스터의 '상태 정보'를 제공하는 특수 API입니다.
- 역할: "현재 GPU 사용량이 얼마지?", "메모리가 부족한 노드는 어디지?" 같은 실시간 데이터를 제공합니다.
- 활용: 모니터링 도구(Prometheus 등)나 오토스케일러가 이 API를 호출해 의사결정을 내립니다.
③ 집합 API (Aggregation API)
사용자가 직접 만든 기능을 쿠버네티스 순정 기능처럼 추가하고 싶을 때 사용합니다.
- Custom Resource Definition (CRD): 쿠버네티스가 기본적으로 제공하지 않는 리소스를 정의할 때 사용합니다. API Server는 이 CRD를 통해 사용자의 커스텀 요청도 인식할 수 있게 됩니다.
3. API 성숙도
API 이름 뒤에 붙는 버전은 해당 기능이 얼마나 믿을만한지를 나타냅니다.
- Alpha (v1alpha1): 개발 초기 단계. 언제든 설정법이 바뀔 수 있고 버그가 있을 수 있음.
- Beta (v1beta1): 충분히 테스트됨. 큰 변화는 없겠지만 약간의 수정 가능성 있음.
- Stable (v1): 정식 버전. 운영 환경에서 안심하고 사용 가능. (예: node.k8s.io/v1)
💡 한눈에 정리하는 역할 관계도
- 사용자/시스템: API Server에 특정 **API 그룹(apps/v1)**의 양식으로 요청을 보냅니다.
- API Server: 요청을 승인하고 저장합니다.
- 컨트롤러(Controller): 해당 API 그룹을 담당하는 감시자가 "오, 나한테 할 일이 들어왔네?" 하고 실제 작업(컨테이너 띄우기 등)을 수행합니다.
'Kubernetes' 카테고리의 다른 글
| 쿠버네티스 필수 리소스 및 역할 (0) | 2026.04.24 |
|---|---|
| Kubernetes 클러스터 접속 설정 파일 (Kubeconfig) (0) | 2026.04.23 |
| Kubernetes : PV, PVC (0) | 2024.12.24 |
| Kubernetes : MySQL 컨테이너의 데이터 → 호스트 디렉토리에 저장 (0) | 2024.12.24 |
| Kubernetes : 호스트 머신 디렉토리 → Pod 내 컨테이너 공유 (0) | 2024.12.24 |