Skip to content

Commit 8030915

Browse files
wonyonggOkabe-Junyat-inu
authored
[ja] Translate /docs/concepts/workloads/pods/pod-hostname.md into Japanese (#52436)
* init ja-pod-hostname.md * レビュー反映 Co-authored-by: Junya Okabe <[email protected]> * and/or → / Co-authored-by: Junya Okabe <[email protected]> * and/or → /, typo Co-authored-by: Junya Okabe <[email protected]> * 全角スペース → 半角スペース Co-authored-by: Junya Okabe <[email protected]> * レビュー反映 Co-authored-by: Junya Okabe <[email protected]> * フィールド追加 Co-authored-by: Junya Okabe <[email protected]> * レビュー反映 Co-authored-by: Junya Okabe <[email protected]> * Address review comments Co-authored-by: Junya Okabe <[email protected]> * Address review comments Co-authored-by: Junya Okabe <[email protected]> * Address review comments Co-authored-by: Junya Okabe <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * Address review comments Co-authored-by: inukai <[email protected]> * change some `hostname` to Japanese --------- Co-authored-by: Junya Okabe <[email protected]> Co-authored-by: inukai <[email protected]>
1 parent fe37e23 commit 8030915

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: Podのホスト名
3+
content_type: concept
4+
weight: 85
5+
---
6+
7+
<!-- overview -->
8+
9+
このページでは、Podのホスト名を設定する方法、その設定後に起こり得る副作用、そして基盤となる仕組みについて説明します。
10+
11+
<!-- body -->
12+
13+
## Podのデフォルトのホスト名
14+
Podが作成されると、(Pod内部から観測される)そのホスト名は、Podのmetadata.nameの値から導き出されます。
15+
ホスト名と、それに対応する完全修飾ドメイン名(FQDN)の両方が(Podの視点からは)metadata.nameの値に設定されます。
16+
17+
```yaml
18+
apiVersion: v1
19+
kind: Pod
20+
metadata:
21+
name: busybox-1
22+
spec:
23+
containers:
24+
- image: busybox:1.28
25+
command:
26+
- sleep
27+
- "3600"
28+
name: busybox
29+
```
30+
31+
このmanifestで作成されたPodは、ホスト名と完全修飾ドメイン名(FQDN)が`busybox-1`に設定されます。
32+
33+
## Podのhostnameとsubdomainフィールド
34+
Podのspecには、オプションの`hostname`フィールドがあります。
35+
この値が設定されると、Podの`metadata.name`よりも優先され、(Pod内部から観測される)ホスト名として使われます。
36+
例えば、spec.hostnameが`my-host`に設定されているPodは、ホスト名が`my-host`です。
37+
38+
また、Podのspecにはオプションの`subdomain`フィールドもあり、Podが自分のNamespace内のサブドメインに属していることを示します。
39+
もしPodの`spec.hostname`が"foo"、spec.subdomainが"bar"に設定され、さらにNamespaceが`my-namespace`の場合、ホスト名は`foo`で、完全修飾ドメイン名(FQDN)は(Podの内部から観測される)`foo.bar.my-namespace.svc.cluster-domain.example`です。
40+
41+
hostnameとsubdomainの両方が設定されていると、クラスターのDNSサーバーはこれらのフィールドに基づいてA/AAAAレコードを作成します。
42+
[Podのhostnameとsubdomainフィールド](/docs/concepts/services-networking/dns-pod-service/#pod-hostname-and-subdomain-field)を参照してください。
43+
44+
## PodのsetHostnameAsFQDNフィールド
45+
46+
{{< feature-state for_k8s_version="v1.22" state="stable" >}}
47+
48+
Podが完全修飾ドメイン名(FQDN)を持つように設定されている場合、そのホスト名は短いホスト名です。
49+
例えば、Podの完全修飾ドメイン名が`busybox-1.busybox-subdomain.my-namespace.svc.cluster-domain.example`の場合、デフォルトではそのPod内で`hostname`コマンドを実行すると`busybox-1`が返り、`hostname --fqdn`コマンドを実行するとFQDNが返ります。
50+
51+
`setHostnameAsFQDN: true`とsubdomainフィールドがPodのspecに設定されている場合、kubeletはそのPodのNamespaceに対してFQDNをホスト名として書き込みます。
52+
この場合、`hostname`と`hostname --fqdn`の両方がPodのFQDNを返します。
53+
54+
PodのFQDNは前述と同じ方法で構築されます。
55+
つまり、Podの`spec.hostname`(設定されている場合)または`metadata.name`フィールド、`spec.subdomain`、`namespace`名、そしてクラスタードメインサフィックスで構成されます。
56+
57+
{{< note >}}
58+
Linuxでは、kernelのhostnameフィールド(`struct utsname`の`nodename`フィールド)は64文字に制限されています。
59+
60+
Podがこの機能を有効にし、そのFQDNが64文字を超える場合、起動に失敗します。
61+
そのPodは`Pending`ステータスのままになり(`kubectl`からは`ContainerCreating`と表示)、"Failed to construct FQDN from Pod hostname and cluster domain"などのエラーイベントが生成されます。
62+
63+
つまり、このフィールドを使う場合、Podの`metadata.name`(または`spec.hostname`)と`spec.subdomain`フィールドを組み合わせた長さが64文字を超えないようにする必要があります。
64+
{{< /note >}}
65+
66+
## PodのhostnameOverride
67+
{{< feature-state feature_gate_name="HostnameOverride" >}}
68+
69+
Podのspecで`hostnameOverride`に値を設定すると、kubeletは無条件にその値をPodのホスト名とFQDN両方に設定します。
70+
71+
`hostnameOverride`フィールドには64文字の長さ制限があり、[RFC 1123](https://datatracker.ietf.org/doc/html/rfc1123)で定義されているDNSのサブドメイン名の基準に従う必要があります。
72+
73+
:
74+
```yaml
75+
apiVersion: v1
76+
kind: Pod
77+
metadata:
78+
name: busybox-2-busybox-example-domain
79+
spec:
80+
hostnameOverride: busybox-2.busybox.example.domain
81+
containers:
82+
- image: busybox:1.28
83+
command:
84+
- sleep
85+
- "3600"
86+
name: busybox
87+
```
88+
{{< note >}}
89+
これはPod内のホスト名にのみ影響し、クラスターのDNSサーバーにおけるPodのAレコードやAAAAレコードには影響しません。
90+
{{< /note >}}
91+
92+
`hostnameOverride`が`hostname`や`subdomain`フィールドと同時に設定されている場合:
93+
* Pod内のホスト名は`hostnameOverride`の値に上書きされます。
94+
95+
* クラスターのDNSサーバーにおけるPodのA/AAAAレコードは、`hostname`と`subdomain`フィールドに基づいて引き続き生成されます。
96+
97+
備考: `hostnameOverride`が設定されている場合、`hostNetwork`と`setHostnameAsFQDN`フィールドを同時に設定することはできません。
98+
APIサーバーは、この組み合わせで作成要求が行われた場合、明示的に拒否します。
99+
100+
`hostnameOverride`が他のフィールド(hostname、subdomain、setHostnameAsFQDN、hostNetwork)と組み合わされた時の動作の詳細については、[KEP-4762の設計詳細](https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/4762-allow-arbitrary-fqdn-as-pod-hostname/README.md#design-details)の表を参照してください。

0 commit comments

Comments
 (0)