Information in this document may be out of date
This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Object Names and IDs
Nomes de objetos e IDs
Cada objeto em seu cluster possui um Nome que é único para aquele tipo de recurso. Todo objeto do Kubernetes também possui um UID que é único para todo o cluster.
Por exemplo, você pode ter apenas um Pod chamado myapp-1234
dentro de um
namespace, porém
você pode ter um Pod e um Deployment ambos com o nome myapp-1234
.
Para atributos não-únicos definidos pelo usuário, o Kubernetes fornece labels e annotations.
Nomes
Uma string fornecida pelo cliente que referencia um objeto em uma URL de
recurso, como por exemplo /api/v1/pods/qualquer-nome
.
Somente um objeto de um dado tipo pode ter um certo nome por vez. No entanto, se você remover o objeto, você poderá criar um novo objeto com o mesmo nome.
Nota:
Em casos em que objetos representam uma entidade física, como no caso de um Nó representando um host físico, caso o host seja recriado com o mesmo nome mas o objeto Nó não seja recriado, o Kubernetes trata o novo host como o host antigo, o que pode causar inconsistências.Abaixo estão descritos quatro tipos de restrições de nomes comumente utilizadas para recursos.
Nomes de subdomínio DNS
A maior parte dos recursos do Kubernetes requerem um nome que possa ser utilizado como um nome de subdomínio DNS, conforme definido na RFC 1123. Isso significa que o nome deve:
- conter no máximo 253 caracteres
- conter somente caracteres alfanuméricos em caixa baixa, traço ('-') ou ponto ('.').
- iniciar com um caractere alfanumérico
- terminar com um caractere alfanumérico
Nomes de rótulos da RFC 1123
Alguns tipos de recurso requerem que seus nomes sigam o padrão de rótulos DNS definido na RFC 1123. Isso significa que o nome deve:
- conter no máximo 63 caracteres
- conter somente caracteres alfanuméricos em caixa baixa ou traço ('-')
- iniciar com um caractere alfanumérico
- terminar com um caractere alfanumérico
Nomes de rótulo da RFC 1035
Alguns tipos de recurso requerem que seus nomes sigam o padrão de rótulos DNS definido na RFC 1035. Isso significa que o nome deve:
- conter no máximo 63 caracteres
- conter somente caracteres alfanuméricos em caixa baixa ou traço ('-')
- iniciar com um caractere alfanumérico
- terminar com um caractere alfanumérico
Nomes de segmentos de caminhos
Alguns tipos de recurso requerem que seus nomes possam ser seguramente codificados como um segmento de caminho, ou seja, o nome não pode ser "." ou ".." e não pode conter "/" ou "%".
Exemplo de um manifesto para um Pod chamado nginx-demo
.
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Nota:
Alguns tipos de recursos possuem restrições adicionais em seus nomes.UIDs
Uma string gerada pelos sistemas do Kubernetes para identificar objetos de forma única.
Cada objeto criado durante todo o ciclo de vida do cluster do Kubernetes possui um UID distinto. O objetivo deste identificador é distinguir ocorrências históricas de entidades semelhantes.
UIDs no Kubernetes são identificadores únicos universais (também conhecidos como UUIDs). UUIDs seguem os padrões ISO/IEC 9834-8 e ITU-T X.667.
Próximos passos
- Leia sobre labels no Kubernetes.
- Consulte o documento de design Identifiers and Names in Kubernetes.