Object Names and IDs

    For example, you can only have one Pod named within the same namespace, but you can have one Pod and one Deployment that are each named .

    For non-unique user-provided attributes, Kubernetes provides and annotations.

    A client-provided string that refers to an object in a resource URL, such as .

    Only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name.

    Note: In cases when objects represent a physical entity, like a Node representing a physical host, when the host is re-created under the same name without deleting and re-creating the Node, Kubernetes treats the new host as the old one, which may lead to inconsistencies.

    Below are four types of commonly used name constraints for resources.

    Most resource types require a name that can be used as a DNS subdomain name as defined in . 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

    Some resource types require their names to follow the DNS label standard as defined in . This means the name must:

    • contain at most 63 characters
    • contain only lowercase alphanumeric characters or ‘-‘
    • end with an alphanumeric character
    • contain at most 63 characters
    • contain only lowercase alphanumeric characters or ‘-‘
    • start with an alphabetic character
    • end with an alphanumeric character

    Some resource types require their names to be able to be safely encoded as a path segment. In other words, the name may not be “.” or “..” and the name may not contain “/“ or “%”.

    Here’s an example manifest for a Pod named .

    Note: Some resource types have additional restrictions on their names.

    A Kubernetes systems-generated string to uniquely identify objects.

    Kubernetes UIDs are universally unique identifiers (also known as UUIDs). UUIDs are standardized as ISO/IEC 9834-8 and as ITU-T X.667.

    • Read about labels and in Kubernetes.