3.5 KiB
title | content_type | weight |
---|---|---|
Nomes de objetos e IDs | concept | 20 |
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
{{< glossary_definition term_id="name" length="all" >}}
{{< note >}} 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. {{< /note >}}
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
{{< note >}} Alguns tipos de recursos possuem restrições adicionais em seus nomes. {{< /note >}}
UIDs
{{< glossary_definition term_id="uid" length="all" >}}
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.
{{% heading "whatsnext" %}}
- Leia sobre labels no Kubernetes.
- Consulte o documento de design Identifiers and Names in Kubernetes.