본문 바로가기
Cloud Infrastructure/Kubernetes

[쿠버네티스] $kubectl api-resources 사용법 (오브젝트가 뭔데)

by chung_yu 2026. 1. 14.

 

 
 
Q1) api-resources에 나오는 목록은 오브젝트들인가?  *$kubectl api-resources
No! 리소스는 오브젝트의 틀임
* 리소스 VS 오브젝트
리소스(api resource): 붕어빵 틀 
오브젝트: 실제로 생성된 개체
 
Q2) 오브젝트 VS 컴포넌트 차이
리소스(api resource)는 오브젝트의 틀
컴포넌트는시스템 엔진 (ex:Controller Manager, etcd ) => kube-system이라는 네임스페이스 안에서 pod형태로 숨어있음
 
Q3) api resource에 나오는 것을 설치해서 사용?
No! resource는 양식(form)임
양식에 맞춰서 YAML 파일을 작성해서 kubectl apply -f 명령어로 제출
(그러면.............정확하게 어떤식으로 써야하는거임? 아래 How To 참고)
 
Tip1)  kubectl api-resources 에서 나오는 KIND 컬럼에 적힌 것들이
* kind: 항목 메뉴 리스트

NAME                              SHORTNAMES   APIVERSION                             NAMESPACED   KIND
bindings                                       v1                                     true         Binding
componentstatuses                 cs           v1                                     false        ComponentStatus
configmaps                        cm           v1                                     true         ConfigMap
endpoints                         ep           v1                                     true         Endpoints
events                            ev           v1                                     true         Event
limitranges                       limits       v1                                     true         LimitRange
namespaces                        ns           v1                                     false        Namespace
nodes                             no           v1                                     false        Node
persistentvolumeclaims            pvc          v1                                     true         PersistentVolumeClaim
persistentvolumes                 pv           v1                                     false        PersistentVolume
pods                              po           v1                                     true         Pod

 
 
Tip2) KIND:pod 안에는 컨테이너가 들어가서 어떤 것이든 들어가짐..(ex nginx, mysql....등)
 
 
[ How To : kubectl api-resources ]
$kubectl api-resources : 리소스 목록 확인
$vi my-first-pod.yaml : 특정 리소스를 오브젝트화 하기 (kind:Pod)

apiVersion: v1
kind: Pod
metadata:
  name: my-nginx-pod
spec:
  containers:
  - name: nginx-container
    image: nginx

$kubectl apply -f my-first-pod.yaml : 제출 (실사용)
$kubectl get pods : 확인
 
Tip3) yaml 파일을 처음부터 만들 필요 없다! (vi를 통해서 생성X)
# 1단계: 쿠버네티스가 화면에 YAML을 출력해줍니다.
$kubectl run my-pod --image=nginx --dry-run=[client|server] -o yaml
# 2단계: 그걸 파일로 저장합니다.
$kubectl run my-pod --image=nginx --dry-run=client -o yaml > pod.yaml
 
+) ' --dry-run=[client|server]' client vs server
client : 컴퓨터(kubectl)에 있는 정보로 YAML 양식만 출력 (엄청 빠르고 안전함)
server : 권한 체크