나의 잡다한 노트 및 메모

kind, apiVersion 본문

DevOps/쿠버네티스

kind, apiVersion

peanutwalnut 2025. 9. 16. 20:48

1. kind

  • 이 리소스가 무슨 종류의 오브젝트인지를 지정합니다.
  • Kubernetes는 여러 가지 리소스 타입(kind) 을 지원합니다. 대표적으로:

🔹 워크로드 (Workloads)

  • Pod
  • Deployment
  • ReplicaSet
  • StatefulSet
  • DaemonSet
  • Job
  • CronJob

🔹 서비스 및 네트워킹 (Services & Networking)

  • Service
  • Ingress
  • EndpointSlice
  • NetworkPolicy

🔹 설정 및 보안 (Configuration & Security)

  • ConfigMap
  • Secret
  • ResourceQuota
  • LimitRange
  • Role, ClusterRole
  • RoleBinding, ClusterRoleBinding
  • ServiceAccount

🔹 스토리지 (Storage)

  • PersistentVolume (PV)
  • PersistentVolumeClaim (PVC)
  • StorageClass
  • VolumeSnapshot

🔹 기타 관리용

  • Namespace
  • Node
  • Event
  • CustomResourceDefinition (CRD) → 사용자 정의 리소스 생성 가능

 

 

2. apiVersion

  • 리소스를 정의하는 API 그룹과 버전을 나타냅니다.
  • Kubernetes는 리소스를 API 그룹별로 분류해 관리하며, 안정성 수준에 따라 v1, v1beta1 같은 버전 태그를 가집니다.

🔹 코어 그룹(Core, group 없음)

  • apiVersion: v1
  • 대표 리소스:
    • Pod, Service, ConfigMap, Secret, Namespace, PersistentVolume, PersistentVolumeClaim

🔹 apps 그룹

  • apiVersion: apps/v1
  • 대표 리소스:
    • Deployment, ReplicaSet, StatefulSet, DaemonSet

🔹 batch 그룹

  • apiVersion: batch/v1
  • 대표 리소스:
    • Job, CronJob

🔹 networking.k8s.io 그룹

  • apiVersion: networking.k8s.io/v1
  • 대표 리소스:
    • Ingress, NetworkPolicy

🔹 rbac.authorization.k8s.io 그룹

  • apiVersion: rbac.authorization.k8s.io/v1
  • 대표 리소스:
    • Role, ClusterRole, RoleBinding, ClusterRoleBinding

🔹 apiextensions.k8s.io 그룹

  • apiVersion: apiextensions.k8s.io/v1
  • 대표 리소스:
    • CustomResourceDefinition (CRD)