Kubernetes API Resources Concepts: Difference between revisions
Line 83: | Line 83: | ||
==DNS Subdomain Names== | ==DNS Subdomain Names== | ||
{{External|https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names}} | {{External|https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names}} | ||
Most resource types require a name that can be used as a DNS subdomain name as defined in [[RFC 1123]]. This means the name must: | Most resource types require a name that can be used as a DNS subdomain name as defined in [[https://tools.ietf.org/html/rfc1123 RFC 1123]]. This means the name must: | ||
contain no more than 253 characters | contain no more than 253 characters |
Revision as of 18:32, 26 June 2020
External
Internal
API Reference
API Resources
The full list of API resources (primitives, API objects) available to interact with in Kubernetes is generated by:
kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings core API group true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap endpoints ep true Endpoints events ev true Event limitranges limits true LimitRange namespaces ns false Namespace nodes no false Node persistentvolumeclaims pvc true PersistentVolumeClaim persistentvolumes pv false PersistentVolume pods po true Pod podtemplates true PodTemplate replicationcontrollers rc true ReplicationController resourcequotas quota true ResourceQuota secrets true Secret serviceaccounts sa true ServiceAccount services svc core API group true Service mutatingwebhookconfigurations admissionregistration.k8s.io false MutatingWebhookConfiguration validatingwebhookconfigurations admissionregistration.k8s.io false ValidatingWebhookConfiguration customresourcedefinitions crd,crds apiextensions.k8s.io false CustomResourceDefinition apiservices apiregistration.k8s.io false APIService controllerrevisions apps true ControllerRevision daemonsets ds apps true DaemonSet deployments deploy apps true Deployment replicasets rs apps true ReplicaSet statefulsets sts apps true StatefulSet tokenreviews authentication.k8s.io false TokenReview localsubjectaccessreviews authorization.k8s.io true LocalSubjectAccessReview selfsubjectaccessreviews authorization.k8s.io false SelfSubjectAccessReview selfsubjectrulesreviews authorization.k8s.io false SelfSubjectRulesReview subjectaccessreviews authorization.k8s.io false SubjectAccessReview horizontalpodautoscalers hpa autoscaling true HorizontalPodAutoscaler cronjobs cj batch true CronJob jobs batch true Job certificatesigningrequests csr certificates.k8s.io false CertificateSigningRequest stacks compose.docker.com true Stack leases coordination.k8s.io true Lease events ev events.k8s.io true Event daemonsets ds extensions true DaemonSet deployments deploy extensions true Deployment ingresses ing extensions true Ingress networkpolicies netpol extensions true NetworkPolicy podsecuritypolicies psp extensions false PodSecurityPolicy replicasets rs extensions true ReplicaSet ingresses ing networking.k8s.io true Ingress networkpolicies netpol networking.k8s.io true NetworkPolicy runtimeclasses node.k8s.io false RuntimeClass poddisruptionbudgets pdb policy true PodDisruptionBudget podsecuritypolicies psp policy false PodSecurityPolicy clusterrolebindings rbac.authorization.k8s.io false ClusterRoleBinding clusterroles rbac.authorization.k8s.io false ClusterRole rolebindings rbac.authorization.k8s.io true RoleBinding roles rbac.authorization.k8s.io true Role priorityclasses pc scheduling.k8s.io false PriorityClass csidrivers storage.k8s.io false CSIDriver csinodes storage.k8s.io false CSINode storageclasses sc storage.k8s.io false StorageClass volumeattachments storage.k8s.io false VolumeAttachment
Names
All objects in the Kubernetes REST API are unambiguously identified by a name and a UID.
When a resource is created, the desired name is specified in the metadata.name manifest field. The name of the resource is used as part of resource URL, such as "/api/v1/pods/my-pod", so the name must respect constraints common to DNS names. There are three sub-categories of constrains a resource name should comply with:
DNS Subdomain Names
Most resource types require a name that can be used as a DNS subdomain name as defined in [RFC 1123]. This means the name must:
contain no more than 253 characters contain only lowercase alphanumeric characters, '-' or '.' start with an alphanumeric character end with an alphanumeric character