쿠버네티스는 API를 통해 쿠버네티스 오브젝트들의 상태를 조회하거나 조작할 수 있다.
쿠버네티스는 쿠버네티스 API를 지속적으로 변경하고, 기존 클라이언트와의 호환성 유지를 목표로한다.
쿠버네티스는 API 버전
마다 포함되는 오브젝트(kind)도 다르고 요구하는 내용도 다르다. -> 적합한 버전을
명시해야 함
alpha
: 버그가 있을 수 있고 차후에 사라질 수 있음beta
: 정식버전으로 변경될 가능성이 높음stable
: 안정화버전으로 v버전번호 형식을 갖는다extension/v1beta1
: 확장된버전으로, 순차적으로 다른 버전으로 기능이 옮겨가고 있음. 또한 deprecated 상태이므로 옮겨진 API로 변경하는 것을 권장.
Kind | API Version |
---|---|
CertificateSigningRequest | certificates.k8s.io/v1 |
ClusterRoleBinding | rbac.authorization.k8s.io/v1 |
ClusterRole | rbac.authorization.k8s.io/v1 |
ComponentStatus | v1 |
ConfigMap | v1 |
ControllerRevision | apps/v1 |
CronJob | |
DaemonSet | |
Deployment | |
Endpoints | v1 |
Event | v1 |
HorizontalPodAutoscaler | autoscaling/v1 |
Ingress | |
Job | batch/v1 |
LimitRange | v1 |
NetworkPolicy | |
Node | v1 |
PersistentVolumeClaim | v1 |
PersistentVolume | v1 |
PodDisruptionBudget | |
Pod | v1 |
PodTemplate | v1 |
ReplicaSet | |
ReplicationController | v1 |
ResourceQuota | v1 |
RoleBinding | rbac.authorization.k8s.io/v1 |
Role | rbac.authorization.k8s.io/v1 |
Secret | v1 |
ServiceAccount | v1 |
Service | v1 |
StatefulSet | apps/v1 |
kubectl explain [resource]
: 리소스를 어떻게 정의하는지에 대한 내용을 확인할 수 있다.
사용하고자 하는 자원의 apiVersion을 무엇으로 명시해야 할지 궁금할 경우, explain 명령어를 통해 조회 가능
<예시>
kubectl explain pod
참고자료