1
1
---
2
2
title : エフェメラルコンテナ
3
3
content_type : concept
4
- weight : 80
4
+ weight : 60
5
5
---
6
6
7
7
<!-- overview -->
8
8
9
- {{< feature-state state="alpha " for_k8s_version="v1.16 " >}}
9
+ {{< feature-state state="stable " for_k8s_version="v1.25 " >}}
10
10
11
11
このページでは、特別な種類のコンテナであるエフェメラルコンテナの概要を説明します。エフェメラルコンテナは、トラブルシューティングなどのユーザーが開始するアクションを実行するために、すでに存在する{{< glossary_tooltip term_id="pod" >}}内で一時的に実行するコンテナです。エフェメラルコンテナは、アプリケーションの構築ではなく、serviceの調査のために利用します。
12
12
13
- {{< warning >}}
14
- エフェメラルコンテナは初期のアルファ状態であり、本番クラスターには適しません。[ Kubernetesの非推奨ポリシー] ( /docs/reference/using-api/deprecation-policy/ ) に従って、このアルファ機能は、将来大きく変更されたり、完全に削除される可能性があります。
15
- {{< /warning >}}
16
-
17
13
<!-- body -->
18
14
19
15
## エフェメラルコンテナを理解する
@@ -32,7 +28,11 @@ weight: 80
32
28
33
29
エフェメラルコンテナは、直接` pod.spec ` に追加するのではなく、API内の特別な` ephemeralcontainers ` ハンドラを使用して作成します。そのため、エフェメラルコンテナを` kubectl edit ` を使用して追加することはできません。
34
30
35
- エフェメラルコンテナをPodに追加した後は、通常のコンテナのようにエフェメラルコンテナを変更または削除することはできません。
31
+ エフェメラルコンテナをPodに追加した後は、通常のコンテナのようにエフェメラルコンテナを変更または削除することはできません。
32
+
33
+ {{< note >}}
34
+ エフェメラルコンテナは、[ static Pod] ( /ja/docs/tasks/configure-pod-container/static-pod/ ) ではサポートされていません。
35
+ {{< /note >}}
36
36
37
37
## エフェメラルコンテナの用途
38
38
@@ -42,106 +42,6 @@ weight: 80
42
42
43
43
エフェメラルコンテナを利用する場合には、他のコンテナ内のプロセスにアクセスできるように、[ プロセス名前空間の共有] ( /ja/docs/tasks/configure-pod-container/share-process-namespace/ ) を有効にすると便利です。
44
44
45
- エフェメラルコンテナを利用してトラブルシューティングを行う例については、 [ デバッグ用のエフェメラルコンテナを使用してデバッグする ] ( /ja/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container ) を参照してください。
45
+ ## {{% heading "whatsnext" %}}
46
46
47
- ## Ephemeral containers API
48
-
49
- {{< note >}}
50
- このセクションの例を実行するには、` EphemeralContainers ` [ フィーチャーゲート] ( /ja/docs/reference/command-line-tools-reference/feature-gates/ ) を有効にして、Kubernetesクライアントとサーバーのバージョンをv1.16以上にする必要があります。
51
- {{< /note >}}
52
-
53
- このセクションの例では、API内でエフェメラルコンテナを表示する方法を示します。通常は、APIを直接呼び出すのではなく、` kubectl alpha debug ` やその他の` kubectl ` [ プラグイン] ( /docs/tasks/extend-kubectl/kubectl-plugins/ ) を使用して、これらのステップを自動化します。
54
-
55
- エフェメラルコンテナは、Podの` ephemeralcontainers ` サブリソースを使用して作成されます。このサブリソースは、` kubectl --raw ` を使用して確認できます。まずはじめに、以下に` EphemeralContainers ` リストとして追加するためのエフェメラルコンテナを示します。
56
-
57
- ``` json
58
- {
59
- "apiVersion" : " v1" ,
60
- "kind" : " EphemeralContainers" ,
61
- "metadata" : {
62
- "name" : " example-pod"
63
- },
64
- "ephemeralContainers" : [{
65
- "command" : [
66
- " sh"
67
- ],
68
- "image" : " busybox" ,
69
- "imagePullPolicy" : " IfNotPresent" ,
70
- "name" : " debugger" ,
71
- "stdin" : true ,
72
- "tty" : true ,
73
- "terminationMessagePolicy" : " File"
74
- }]
75
- }
76
- ```
77
-
78
- すでに実行中の` example-pod ` のエフェメラルコンテナを更新するには、次のコマンドを実行します。
79
-
80
- ``` shell
81
- kubectl replace --raw /api/v1/namespaces/default/pods/example-pod/ephemeralcontainers -f ec.json
82
- ```
83
-
84
- このコマンドを実行すると、新しいエフェメラルコンテナのリストが返されます。
85
-
86
- ``` json
87
- {
88
- "kind" :" EphemeralContainers" ,
89
- "apiVersion" :" v1" ,
90
- "metadata" :{
91
- "name" :" example-pod" ,
92
- "namespace" :" default" ,
93
- "selfLink" :" /api/v1/namespaces/default/pods/example-pod/ephemeralcontainers" ,
94
- "uid" :" a14a6d9b-62f2-4119-9d8e-e2ed6bc3a47c" ,
95
- "resourceVersion" :" 15886" ,
96
- "creationTimestamp" :" 2019-08-29T06:41:42Z"
97
- },
98
- "ephemeralContainers" :[
99
- {
100
- "name" :" debugger" ,
101
- "image" :" busybox" ,
102
- "command" :[
103
- " sh"
104
- ],
105
- "resources" :{
106
-
107
- },
108
- "terminationMessagePolicy" :" File" ,
109
- "imagePullPolicy" :" IfNotPresent" ,
110
- "stdin" :true ,
111
- "tty" :true
112
- }
113
- ]
114
- }
115
- ```
116
-
117
- 新しく作成されたエフェメラルコンテナの状態を確認するには、` kubectl describe ` を使用します。
118
-
119
- ``` shell
120
- kubectl describe pod example-pod
121
- ```
122
-
123
- ```
124
- ...
125
- Ephemeral Containers:
126
- debugger:
127
- Container ID: docker://cf81908f149e7e9213d3c3644eda55c72efaff67652a2685c1146f0ce151e80f
128
- Image: busybox
129
- Image ID: docker-pullable://busybox@sha256:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70
130
- Port: <none>
131
- Host Port: <none>
132
- Command:
133
- sh
134
- State: Running
135
- Started: Thu, 29 Aug 2019 06:42:21 +0000
136
- Ready: False
137
- Restart Count: 0
138
- Environment: <none>
139
- Mounts: <none>
140
- ...
141
- ```
142
-
143
- 新しいエフェメラルコンテナとやりとりをするには、他のコンテナと同じように、` kubectl attach ` 、` kubectl exec ` 、` kubectl logs ` などのコマンドが利用できます。例えば、次のようなコマンドが実行できます。
144
-
145
- ``` shell
146
- kubectl attach -it example-pod -c debugger
147
- ```
47
+ * [ デバッグ用のエフェメラルコンテナを使用してデバッグする] ( /ja/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container ) 方法について学ぶ。
0 commit comments