Skip to content

Commit d7e1f1b

Browse files
authored
Merge pull request #36822 from s-kawamura-w664/update-runtime-class
[ja] Update content/ja/docs/concepts/containers/runtime-class.md to the latest.
2 parents 5439568 + 3723417 commit d7e1f1b

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

content/ja/docs/concepts/containers/runtime-class.md

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ weight: 20
77

88
<!-- overview -->
99

10-
{{< feature-state for_k8s_version="v1.14" state="beta" >}}
10+
{{< feature-state for_k8s_version="v1.20" state="stable" >}}
1111

1212
このページではRuntimeClassリソースと、runtimeセクションのメカニズムについて説明します。
1313

@@ -24,9 +24,6 @@ RuntimeClassを使用して、コンテナランタイムは同じで設定が
2424

2525
## セットアップ
2626

27-
RuntimeClass機能のフィーチャーゲートが有効になっていることを確認してください(デフォルトで有効です)。フィーチャーゲートを有効にする方法については、[フィーチャーゲート](/ja/docs/reference/command-line-tools-reference/feature-gates/)を参照してください。
28-
その`RuntimeClass`のフィーチャーゲートはApiServerとkubeletのどちらも有効になっていなければなりません。
29-
3027
1. ノード上でCRI実装を設定する。(ランタイムに依存)
3128
2. 対応するRuntimeClassリソースを作成する。
3229

@@ -40,7 +37,7 @@ RuntimeClassは、クラスター全体で同じ種類のノード設定であ
4037
設定が異なるノードをサポートするには、[スケジューリング](#scheduling)を参照してください。
4138
{{< /note >}}
4239

43-
RuntimeClassの設定は、RuntimeClassによって参照される`ハンドラー`名を持ちます。そのハンドラーは正式なDNS-1123に準拠する形式のラベルでなくてはなりません(英数字 + `-`の文字で構成されます)
40+
RuntimeClassの設定は、RuntimeClassによって参照される`ハンドラー`名を持ちます。そのハンドラーは有効な[DNSラベル名](/ja/docs/concepts/overview/working-with-objects/names/#dns-label-names)でなくてはなりません
4441

4542
### 2. 対応するRuntimeClassリソースを作成する
4643

@@ -49,12 +46,15 @@ RuntimeClassの設定は、RuntimeClassによって参照される`ハンドラ
4946
そのRuntimeClassリソースは現時点で2つの重要なフィールドを持ちます。それはRuntimeClassの名前(`metadata.name`)とハンドラー(`handler`)です。そのオブジェクトの定義は下記のようになります。
5047

5148
```yaml
52-
apiVersion: node.k8s.io/v1beta1 # RuntimeClassはnode.k8s.ioというAPIグループで定義されます。
49+
# RuntimeClassはnode.k8s.ioというAPIグループで定義されます。
50+
apiVersion: node.k8s.io/v1
5351
kind: RuntimeClass
5452
metadata:
55-
name: myclass # RuntimeClass名
53+
# RuntimeClass名
5654
# RuntimeClassはネームスペースなしのリソースです。
57-
handler: myconfiguration # 対応するCRI設定
55+
name: myclass
56+
# 対応するCRI設定
57+
handler: myconfiguration
5858
```
5959
6060
RuntimeClassオブジェクトの名前は[DNSサブドメイン名](/ja/docs/concepts/overview/working-with-objects/names#dns-subdomain-names)に従う必要があります。
@@ -68,7 +68,7 @@ Overview](/docs/reference/access-authn-authz/authorization/)を参照してく
6868
6969
## 使用例
7070
71-
一度RuntimeClassがクラスターに対して設定されると、それを使用するのは非常に簡単です。PodSpecの`runtimeClassName`を指定してください。
71+
RuntimeClassがクラスターに対して設定されると、PodSpecで`runtimeClassName`を指定して使用できます。
7272
例えば
7373

7474
```yaml
@@ -81,19 +81,15 @@ spec:
8181
# ...
8282
```
8383

84-
これは、Kubeletに対してPodを稼働させるためのRuntimeClassを使うように指示します。もし設定されたRuntimeClassが存在しない場合や、CRIが対応するハンドラーを実行できない場合、そのPodは`Failed`という[フェーズ](/ja/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)になります。
85-
エラーメッセージに関しては対応する[イベント](/docs/tasks/debug-application-cluster/debug-application-introspection/)を参照して下さい。
84+
これは、kubeletに対してPodを稼働させるためのRuntimeClassを使うように指示します。もし設定されたRuntimeClassが存在しない場合や、CRIが対応するハンドラーを実行できない場合、そのPodは`Failed`という[フェーズ](/ja/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase)になります。
85+
エラーメッセージに関しては対応する[イベント](/docs/tasks/debug/debug-application/debug-running-pod/)を参照して下さい。
8686

8787
もし`runtimeClassName`が指定されていない場合、デフォルトのRuntimeHandlerが使用され、これはRuntimeClassの機能が無効であるときのふるまいと同じものとなります。
8888

89-
### CRIの設定
89+
### CRIの設定 {#cri-configuration}
9090

9191
CRIランタイムのセットアップに関するさらなる詳細は、[CRIのインストール](/docs/setup/cri/)を参照してください。
9292

93-
#### dockershim
94-
95-
Kubernetesのビルトインのdockershim CRIは、ランタイムハンドラーをサポートしていません。
96-
9793
#### {{< glossary_tooltip term_id="containerd" >}}
9894

9995
ランタイムハンドラーは、`/etc/containerd/config.toml`にあるcontainerdの設定ファイルにより設定されます。
@@ -103,8 +99,7 @@ Kubernetesのビルトインのdockershim CRIは、ランタイムハンドラ
10399
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.${HANDLER_NAME}]
104100
```
105101
106-
containerdの設定に関する詳細なドキュメントは下記を参照してください。
107-
https://github.com/containerd/containerd/blob/main/docs/cri/config.md
102+
詳細はcontainerdの[設定に関するドキュメント](https://github.com/containerd/containerd/blob/main/docs/cri/config.md)を参照してください。
108103
109104
#### {{< glossary_tooltip term_id="cri-o" >}}
110105
@@ -117,15 +112,14 @@ table](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md#crioruntim
117112
runtime_path = "${PATH_TO_BINARY}"
118113
```
119114
120-
詳細はCRI-Oの[設定に関するドキュメント](https://raw.githubusercontent.com/cri-o/cri-o/9f11d1d/docs/crio.conf.5.md)を参照してください。
115+
詳細はCRI-Oの[設定に関するドキュメント](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md)を参照してください。
121116
122117
## スケジューリング {#scheduling}
123118
124119
{{< feature-state for_k8s_version="v1.16" state="beta" >}}
125120
126-
Kubernetes 1.16では、RuntimeClassは`scheduling`フィールドを使ったクラスター内での異なる設定をサポートしています。
127-
このフィールドによって、設定されたRuntimeClassをサポートするノードに対してPodがスケジュールされることを保証できます。
128-
スケジューリングをサポートするためにはRuntimeClass [アドミッションコントローラー](/docs/reference/access-authn-authz/admission-controllers/#runtimeclass)を有効にしなければなりません。(1.16ではデフォルトです)
121+
RuntimeClassの`scheduling`フィールドを指定することで、設定されたRuntimeClassをサポートするノードにPodがスケジューリングされるように制限することができます。
122+
`scheduling`が設定されていない場合、このRuntimeClassはすべてのノードでサポートされていると仮定されます。
129123
130124
特定のRuntimeClassをサポートしているノードへPodが配置されることを保証するために、各ノードは`runtimeclass.scheduling.nodeSelector`フィールドによって選択される共通のラベルを持つべきです。
131125
RuntimeClassのnodeSelectorはアドミッション機能によりPodのnodeSelectorに統合され、効率よくノードを選択します。
@@ -138,10 +132,9 @@ RuntimeClassのnodeSelectorはアドミッション機能によりPodのnodeSele
138132
139133
### Podオーバーヘッド
140134
141-
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
135+
{{< feature-state for_k8s_version="v1.24" state="stable" >}}
142136
143137
Podが稼働する時に関連する _オーバーヘッド_ リソースを指定できます。オーバーヘッドを宣言すると、クラスター(スケジューラーを含む)がPodとリソースに関する決定を行うときにオーバーヘッドを考慮することができます。
144-
Podオーバーヘッドを使うためには、PodOverhead[フィーチャーゲート](/ja/docs/reference/command-line-tools-reference/feature-gates/)を有効にしなければなりません。(デフォルトではonです)
145138
146139
PodのオーバーヘッドはRuntimeClass内の`overhead`フィールドによって定義されます。
147140
このフィールドを使用することで、RuntimeClassを使用して稼働するPodのオーバーヘッドを指定することができ、Kubernetes内部で使用されるオーバーヘッドを確保することができます。

0 commit comments

Comments
 (0)