Chuyển tới nội dung chính

kubectl explain & api-resources

Trong phòng thi, mở docs có thể chậm. Hai lệnh này giúp tra cứu ngay trong terminal.

1. kubectl api-resources – tìm tài nguyên​

Dùng khi quên tên, tên viết tắt, apiVersion hoặc cách viết hoa của kind.

kubectl api-resources
# NAME SHORTNAMES APIVERSION NAMESPACED KIND
# pods po v1 true Pod
# services svc v1 true Service
# deployments deploy apps/v1 true Deployment
# replicasets rs apps/v1 true ReplicaSet
# namespaces ns v1 false Namespace
# nodes no v1 false Node
CộtDùng cho
NAMEGõ lệnh: kubectl get deployments
SHORTNAMESGõ tắt: deploy, svc, po, rs, ns
APIVERSIONDòng apiVersion: trong YAML
NAMESPACEDtrue / false (Node, Namespace là false)
KINDDòng kind: trong YAML

2. kubectl explain – tìm field​

kubectl explain pods                         # field cấp cao: apiVersion, kind, metadata, spec, status
kubectl explain pods.spec # đi sâu bằng dấu chấm
kubectl explain pods.spec.containers.ports
kubectl explain pods --recursive # toàn bộ cây field

3. Đọc kiểu dữ liệu​

Ký hiệuViết trong YAML
<string> / <integer> / <boolean>Giá trị đơn
<Object>Khối con, thụt vào 2 dấu cách
<[]Object>Danh sách, mỗi phần tử bắt đầu bằng -
<map[string]string>Cặp key: value tự do
-required-Bắt buộc
enum:Chỉ nhận các giá trị liệt kê
💡 Ví dụ
  • Selector của Service có kiểu map[string]string → viết thẳng app: myapp, không có matchLabels.
  • Selector của Deployment có kiểu LabelSelector (Object) → có matchLabels / matchExpressions.

4. Lưu ý​

  • Từ kubectl v1.27, explain dùng OpenAPI v3: hiện tên kiểu cụ thể và danh sách enum.
  • Dùng được cả với CRD (ví dụ kubectl explain nodepool.spec của Karpenter).