diff --git a/content/ja/docs/concepts/overview/working-with-objects/names.md b/content/ja/docs/concepts/overview/working-with-objects/names.md index b8762cb33c..18c762aea5 100644 --- a/content/ja/docs/concepts/overview/working-with-objects/names.md +++ b/content/ja/docs/concepts/overview/working-with-objects/names.md @@ -1,30 +1,81 @@ --- 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 %}} diff --git a/content/ja/docs/reference/glossary/name.md b/content/ja/docs/reference/glossary/name.md index c9b0bcd5ef..48c4ca4db9 100755 --- a/content/ja/docs/reference/glossary/name.md +++ b/content/ja/docs/reference/glossary/name.md @@ -2,17 +2,17 @@ title: 名前(Name) id: name date: 2018-04-12 -full_link: /docs/concepts/overview/working-with-objects/names +full_link: /ja/docs/concepts/overview/working-with-objects/names short_description: > クライアントから提供され、リソースURL内のオブジェクトを参照する文字列です。例えば`/api/v1/pods/何らかの名前`のようになります。 -aka: +aka: tags: - fundamental --- クライアントから提供され、リソースURL内のオブジェクトを参照する文字列です。例えば`/api/v1/pods/何らかの名前`のようになります。 - + 同じ種類のオブジェクトは、同じ名前を同時に持つことは出来ません。しかし、オブジェクトを削除することで、旧オブジェクトと同じ名前で新しいオブジェクトを作成できます。 diff --git a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md index f23a98cb6b..17b39e7e1f 100644 --- a/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/content/ja/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -32,7 +32,7 @@ ConfigMapを使用すると、設定をイメージのコンテンツから切 kubectl create configmap ``` -\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)である必要があります。 +\の部分はConfigMapに割り当てる名前で、\はデータを取得するディレクトリ、ファイル、またはリテラル値です。ConfigMapの名前は有効な[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names)である必要があります。 ファイルをベースにConfigMapを作成する場合、\ のキーはデフォルトでファイル名になり、値はデフォルトでファイルの中身になります。