update /ja/docs/concepts/overview/working-with-objects/names/

pull/21038/head
Naoki Oketani 2020-05-18 12:46:06 +09:00
parent 0e4e60cd82
commit 203ab83f22
1 changed files with 59 additions and 7 deletions

View File

@ -1,30 +1,82 @@
---
reviewers:
title: 名前
title: オブジェクトの名前とID
content_template: templates/concept
weight: 20
---
{{% capture overview %}}
KubernetesのREST API内の全てのオブジェクトは、名前とUIDで明確に識別されます。
クラスター内の各オブジェクトには、そのタイプのリソースに固有の[_名前_](#names)があります。
すべてのKubernetesオブジェクトには、クラスター全体で一意の[_UID_](#uids)もあります。
ユーザーが付与する一意ではない属性については、Kubernetesが[ラベル](/docs/user-guide/labels)と[アノテーション](/docs/concepts/overview/working-with-objects/annotations/)を付与します。
たとえば、同じ[名前空間](/docs/concepts/overview/working-with-objects/namespaces/)内に`myapp-1234`という名前のPodは1つしか含められませんが、`myapp-1234`という名前の1つのPodと1つのDeploymentを含めることができます。
名前とUIDに関する正確な構文については、[識別子デザインドキュメント](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)を参照してください
ユーザーが付与する一意ではない属性については、Kubernetesが[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)と[アノテーション](/ja/docs/concepts/overview/working-with-objects/annotations/)を付与します
{{% /capture %}}
{{% capture body %}}
## 名前
## 名前 {#names}
{{< glossary_definition term_id="name" length="all" >}}
慣例的に、Kubernetesリソースの名前は最長253文字で、かつ英小文字、数字、また`-`、`.`から構成します。しかし、特定のリソースはより具体的な制限があります。
以下は、リソースに一般的に使用される3つのタイプの名前制約です。
## UID
### DNSサブドメイン名 {#dns-subdomain-names}
ほとんどのリソースタイプには、[RFC 1123](https://tools.ietf.org/html/rfc1123)で定義されているDNSサブドメイン名として使用できる名前が必要です。
つまり、名前は次のとおりでなければなりません:
- 253文字以内
- 英小文字、数字、「-」または「.」のみを含む
- 英数字で始まる
- 英数字で終わる
### DNSラベル名 {#dns-label-names}
一部のリソースタイプでは、[RFC 1123](https://tools.ietf.org/html/rfc1123)で定義されているDNSラベル標準に従う名前が必要です。
つまり、名前は次のとおりでなければなりません:
- 63文字以内
- 英小文字、数字または「-」のみを含む
- 英数字で始まる
- 英数字で終わる
### パスセグメント名 {#path-segment-names}
一部のリソースタイプでは、名前をパスセグメントとして安全にエンコードできるようにする必要があります。
つまり、名前を「.」や「..」にすることはできず、名前に「/」または「%」を含めることはできません。
以下は、`nginx-demo`という名前のPodのマニフェストの例です。
```yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
```
{{< note >}}
一部のリソースタイプには、名前に追加の制限があります。
{{< /note >}}
## UID {#uids}
{{< glossary_definition term_id="uid" length="all" >}}
Kubernetes UIDは、普遍的に一意の識別子(UUIDとも呼ばれます)です。
UUIDは、ISO/IEC 9834-8およびITU-T X.667として標準化されています。
{{% /capture %}}
{{% capture whatsnext %}}
* Kubernetesの[ラベル](/ja/docs/concepts/overview/working-with-objects/labels/)についてお読みください。
* [Kubernetesの識別子と名前](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)設計ドキュメントをご覧ください。
{{% /capture %}}