Ce face kubectl api-resources
Comanda kubectl api-resources afișează toate tipurile de obiecte pe care le cunoaște API server-ul: resursele standard (Pod, Service, Deployment) și cele adăugate prin CustomResourceDefinition (de exemplu certificates de la cert-manager).
Pentru fiecare tip vezi numele la plural folosit în comenzi, prescurtările (po, svc, deploy), versiunea grupului API (de pus în câmpul apiVersion al manifestelor), dacă resursa aparține unui namespace și valoarea câmpului kind.
Este foarte utilă când scrii un manifest și nu știi ce apiVersion să folosești, sau când vrei să afli dacă un anumit operator a fost instalat corect în cluster.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
--namespaced=true|false |
Afișează doar resursele care aparțin unui namespace (true) sau doar pe cele globale, la nivel de cluster (false). |
--api-group=GRUP |
Filtrează după grupul API, de exemplu apps sau networking.k8s.io. Grupul „core” se specifică cu șir vid: --api-group=''. |
-o wide |
Adaugă coloana VERBS (operațiile permise: get, list, create, delete etc.). |
-o name |
Afișează doar numele resurselor, util în scripturi. |
--verbs=list,get |
Afișează doar resursele care suportă verbele indicate. |
--sort-by=name|kind |
Sortează lista după nume sau după kind. |
Exemple
Exemplul 1: Resursele din grupul apps
Vedem prescurtările și versiunea API pentru Deployment, StatefulSet și celelalte resurse din grupul apps.
kubectl api-resources --api-group=apps
Ieșire în terminal
NAME SHORTNAMES APIVERSION NAMESPACED KIND
controllerrevisions apps/v1 true ControllerRevision
daemonsets ds apps/v1 true DaemonSet
deployments deploy apps/v1 true Deployment
replicasets rs apps/v1 true ReplicaSet
statefulsets sts apps/v1 true StatefulSet
Exemplul 2: Resursele globale (care nu aparțin unui namespace)
Lista este trunchiată; în practică vei vedea mai multe rânduri.
kubectl api-resources --namespaced=false | head -8
Ieșire în terminal
NAME SHORTNAMES APIVERSION NAMESPACED KIND
componentstatuses cs v1 false ComponentStatus
namespaces ns v1 false Namespace
nodes no v1 false Node
persistentvolumes pv v1 false PersistentVolume
mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration
validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
Exemplul 3: Verificarea instalării unui CRD
Dacă grupul cert-manager.io nu apare, operatorul nu este instalat.
kubectl api-resources --api-group=cert-manager.io -o name
Ieșire în terminal
certificaterequests.cert-manager.io
certificates.cert-manager.io
clusterissuers.cert-manager.io
issuers.cert-manager.io
Greșeli frecvente
- Folosirea unei versiuni API eliminate (de exemplu
extensions/v1beta1pentru Ingress sau Deployment). Verifică întotdeauna coloanaAPIVERSIONpentru clusterul tău. - Confuzia dintre
api-resourcesșiapi-versions: a doua comandă listează doar grupurile/versiunile, fără resursele din ele.
Comenzi înrudite
kubectl explain: Afișează documentația câmpurilor unei resurse direct din schema API a clusterului.kubectl get: Listează una sau mai multe resurse, într-un tabel sau în format YAML/JSON.kubectl cluster-info: Afișează adresa API server-ului și a serviciilor principale din cluster.