
쿠버네티스는 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

참고자료