Difference between revisions of "Kubernetes/Resources,Objects and API"

From Ever changing code
Jump to navigation Jump to search
(Created page with "== api-resources aka [https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/ kubernetes objects] == List all available resources in a cluster. <...")
 
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
List all available resources in a cluster.
List all available resources in a cluster.
<source lang=bash>
<source lang=bash>
$ kubectl version --short # -> Client Version: v1.16.1 Server Version: v1.15.11-eks-af3caf
$ kubectl api-resources -owide
$ kubectl api-resources -owide
NAME                              SHORTNAMES  APIGROUP                      NAMESPACED  KIND                            VERBS
NAME                              SHORTNAMES  APIGROUP                      NAMESPACED  KIND                            VERBS
Line 40: Line 41:
certificatesigningrequests        csr          certificates.k8s.io            false        CertificateSigningRequest        [create delete deletecollection get list patch update watch]
certificatesigningrequests        csr          certificates.k8s.io            false        CertificateSigningRequest        [create delete deletecollection get list patch update watch]
leases                                        coordination.k8s.io            true        Lease                            [create delete deletecollection get list patch update watch]
leases                                        coordination.k8s.io            true        Lease                            [create delete deletecollection get list patch update watch]
eniconfigs                                    crd.k8s.amazonaws.com          false        ENIConfig                        [delete deletecollection get list patch create update watch]
events                            ev          events.k8s.io                  true        Event                            [create delete deletecollection get list patch update watch]
events                            ev          events.k8s.io                  true        Event                            [create delete deletecollection get list patch update watch]
daemonsets                        ds          extensions                    true        DaemonSet                        [create delete deletecollection get list patch update watch]
daemonsets                        ds          extensions                    true        DaemonSet                        [create delete deletecollection get list patch update watch]
Line 47: Line 49:
podsecuritypolicies              psp          extensions                    false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
podsecuritypolicies              psp          extensions                    false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
replicasets                      rs          extensions                    true        ReplicaSet                      [create delete deletecollection get list patch update watch]
replicasets                      rs          extensions                    true        ReplicaSet                      [create delete deletecollection get list patch update watch]
externalsecrets                  es          kubernetes-client.io          true        ExternalSecret                  [delete deletecollection get list patch create update watch]
ingresses                        ing          networking.k8s.io              true        Ingress                          [create delete deletecollection get list patch update watch]
networkpolicies                  netpol      networking.k8s.io              true        NetworkPolicy                    [create delete deletecollection get list patch update watch]
networkpolicies                  netpol      networking.k8s.io              true        NetworkPolicy                    [create delete deletecollection get list patch update watch]
runtimeclasses                                node.k8s.io                    false        RuntimeClass                    [create delete deletecollection get list patch update watch]
poddisruptionbudgets              pdb          policy                        true        PodDisruptionBudget              [create delete deletecollection get list patch update watch]
poddisruptionbudgets              pdb          policy                        true        PodDisruptionBudget              [create delete deletecollection get list patch update watch]
podsecuritypolicies              psp          policy                        false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
podsecuritypolicies              psp          policy                        false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
Line 55: Line 60:
roles                                          rbac.authorization.k8s.io      true        Role                            [create delete deletecollection get list patch update watch]
roles                                          rbac.authorization.k8s.io      true        Role                            [create delete deletecollection get list patch update watch]
priorityclasses                  pc          scheduling.k8s.io              false        PriorityClass                    [create delete deletecollection get list patch update watch]
priorityclasses                  pc          scheduling.k8s.io              false        PriorityClass                    [create delete deletecollection get list patch update watch]
csidrivers                                    storage.k8s.io                false        CSIDriver                        [create delete deletecollection get list patch update watch]
csinodes                                      storage.k8s.io                false        CSINode                          [create delete deletecollection get list patch update watch]
storageclasses                    sc          storage.k8s.io                false        StorageClass                    [create delete deletecollection get list patch update watch]
storageclasses                    sc          storage.k8s.io                false        StorageClass                    [create delete deletecollection get list patch update watch]
volumeattachments                              storage.k8s.io                false        VolumeAttachment                [create delete deletecollection get list patch update watch]
volumeattachments                              storage.k8s.io                false        VolumeAttachment                [create delete deletecollection get list patch update watch]
Line 66: Line 73:
= Other useful queries =
= Other useful queries =
<source lang=bash>
<source lang=bash>
kubectl api-resources # -owide
NAME                              SHORTNAMES  APIGROUP                      NAMESPACED  KIND
bindings                                                                      true        Binding
componentstatuses                cs                                          false        ComponentStatus
configmaps                        cm                                          true        ConfigMap
endpoints                        ep                                          true        Endpoints
events                            ev                                          true        Event
limitranges                      limits                                      true        LimitRange
...
$ kubectl api-versions  
$ kubectl api-versions  
admissionregistration.k8s.io/v1beta1
admissionregistration.k8s.io/v1beta1
Line 87: Line 84:
authentication.k8s.io/v1beta1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1
...
</source>
</source>

Latest revision as of 13:58, 20 June 2020

api-resources aka kubernetes objects

List all available resources in a cluster.

$ kubectl version --short # -> Client Version: v1.16.1 Server Version: v1.15.11-eks-af3caf
$ kubectl api-resources -owide
NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND                             VERBS
bindings                                                                      true         Binding                          [create]
componentstatuses                 cs                                          false        ComponentStatus                  [get list]
configmaps                        cm                                          true         ConfigMap                        [create delete deletecollection get list patch update watch]
endpoints                         ep                                          true         Endpoints                        [create delete deletecollection get list patch update watch]
events                            ev                                          true         Event                            [create delete deletecollection get list patch update watch]
limitranges                       limits                                      true         LimitRange                       [create delete deletecollection get list patch update watch]
namespaces                        ns                                          false        Namespace                        [create delete get list patch update watch]
nodes                             no                                          false        Node                             [create delete deletecollection get list patch update watch]
persistentvolumeclaims            pvc                                         true         PersistentVolumeClaim            [create delete deletecollection get list patch update watch]
persistentvolumes                 pv                                          false        PersistentVolume                 [create delete deletecollection get list patch update watch]
pods                              po                                          true         Pod                              [create delete deletecollection get list patch update watch]
podtemplates                                                                  true         PodTemplate                      [create delete deletecollection get list patch update watch]
replicationcontrollers            rc                                          true         ReplicationController            [create delete deletecollection get list patch update watch]
resourcequotas                    quota                                       true         ResourceQuota                    [create delete deletecollection get list patch update watch]
secrets                                                                       true         Secret                           [create delete deletecollection get list patch update watch]
serviceaccounts                   sa                                          true         ServiceAccount                   [create delete deletecollection get list patch update watch]
services                          svc                                         true         Service                          [create delete get list patch update watch]
mutatingwebhookconfigurations                  admissionregistration.k8s.io   false        MutatingWebhookConfiguration     [create delete deletecollection get list patch update watch]
validatingwebhookconfigurations                admissionregistration.k8s.io   false        ValidatingWebhookConfiguration   [create delete deletecollection get list patch update watch]
customresourcedefinitions         crd,crds     apiextensions.k8s.io           false        CustomResourceDefinition         [create delete deletecollection get list patch update watch]
apiservices                                    apiregistration.k8s.io         false        APIService                       [create delete deletecollection get list patch update watch]
controllerrevisions                            apps                           true         ControllerRevision               [create delete deletecollection get list patch update watch]
daemonsets                        ds           apps                           true         DaemonSet                        [create delete deletecollection get list patch update watch]
deployments                       deploy       apps                           true         Deployment                       [create delete deletecollection get list patch update watch]
replicasets                       rs           apps                           true         ReplicaSet                       [create delete deletecollection get list patch update watch]
statefulsets                      sts          apps                           true         StatefulSet                      [create delete deletecollection get list patch update watch]
tokenreviews                                   authentication.k8s.io          false        TokenReview                      [create]
localsubjectaccessreviews                      authorization.k8s.io           true         LocalSubjectAccessReview         [create]
selfsubjectaccessreviews                       authorization.k8s.io           false        SelfSubjectAccessReview          [create]
selfsubjectrulesreviews                        authorization.k8s.io           false        SelfSubjectRulesReview           [create]
subjectaccessreviews                           authorization.k8s.io           false        SubjectAccessReview              [create]
horizontalpodautoscalers          hpa          autoscaling                    true         HorizontalPodAutoscaler          [create delete deletecollection get list patch update watch]
cronjobs                          cj           batch                          true         CronJob                          [create delete deletecollection get list patch update watch]
jobs                                           batch                          true         Job                              [create delete deletecollection get list patch update watch]
certificatesigningrequests        csr          certificates.k8s.io            false        CertificateSigningRequest        [create delete deletecollection get list patch update watch]
leases                                         coordination.k8s.io            true         Lease                            [create delete deletecollection get list patch update watch]
eniconfigs                                     crd.k8s.amazonaws.com          false        ENIConfig                        [delete deletecollection get list patch create update watch]
events                            ev           events.k8s.io                  true         Event                            [create delete deletecollection get list patch update watch]
daemonsets                        ds           extensions                     true         DaemonSet                        [create delete deletecollection get list patch update watch]
deployments                       deploy       extensions                     true         Deployment                       [create delete deletecollection get list patch update watch]
ingresses                         ing          extensions                     true         Ingress                          [create delete deletecollection get list patch update watch]
networkpolicies                   netpol       extensions                     true         NetworkPolicy                    [create delete deletecollection get list patch update watch]
podsecuritypolicies               psp          extensions                     false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
replicasets                       rs           extensions                     true         ReplicaSet                       [create delete deletecollection get list patch update watch]
externalsecrets                   es           kubernetes-client.io           true         ExternalSecret                   [delete deletecollection get list patch create update watch]
ingresses                         ing          networking.k8s.io              true         Ingress                          [create delete deletecollection get list patch update watch]
networkpolicies                   netpol       networking.k8s.io              true         NetworkPolicy                    [create delete deletecollection get list patch update watch]
runtimeclasses                                 node.k8s.io                    false        RuntimeClass                     [create delete deletecollection get list patch update watch]
poddisruptionbudgets              pdb          policy                         true         PodDisruptionBudget              [create delete deletecollection get list patch update watch]
podsecuritypolicies               psp          policy                         false        PodSecurityPolicy                [create delete deletecollection get list patch update watch]
clusterrolebindings                            rbac.authorization.k8s.io      false        ClusterRoleBinding               [create delete deletecollection get list patch update watch]
clusterroles                                   rbac.authorization.k8s.io      false        ClusterRole                      [create delete deletecollection get list patch update watch]
rolebindings                                   rbac.authorization.k8s.io      true         RoleBinding                      [create delete deletecollection get list patch update watch]
roles                                          rbac.authorization.k8s.io      true         Role                             [create delete deletecollection get list patch update watch]
priorityclasses                   pc           scheduling.k8s.io              false        PriorityClass                    [create delete deletecollection get list patch update watch]
csidrivers                                     storage.k8s.io                 false        CSIDriver                        [create delete deletecollection get list patch update watch]
csinodes                                       storage.k8s.io                 false        CSINode                          [create delete deletecollection get list patch update watch]
storageclasses                    sc           storage.k8s.io                 false        StorageClass                     [create delete deletecollection get list patch update watch]
volumeattachments                              storage.k8s.io                 false        VolumeAttachment                 [create delete deletecollection get list patch update watch]


Each object has to properties:

  • spec - describes desired state
  • status - current status

Other useful queries

$ kubectl api-versions 
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
apps/v1beta1
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
...