@@ -6,7 +6,7 @@ weight: 30
6
6
7
7
<!-- overview -->
8
8
9
- {{< feature-state for_k8s_version="v1.18 " state="beta " >}}
9
+ {{< feature-state for_k8s_version="v1.24 " state="stable " >}}
10
10
11
11
12
12
PodをNode上で実行する時に、Pod自身は大量のシステムリソースを消費します。これらのリソースは、Pod内のコンテナ(群)を実行するために必要なリソースとして追加されます。Podのオーバーヘッドは、コンテナの要求と制限に加えて、Podのインフラストラクチャで消費されるリソースを計算するための機能です。
@@ -29,16 +29,15 @@ Podのオーバーヘッドを有効にした場合、Podのスケジューリ
29
29
Podのオーバーヘッド機能を使用するためには、` overhead ` フィールドが定義されたRuntimeClassが必要です。例として、仮想マシンとゲストOSにPodあたり約120MiBを使用する仮想化コンテナランタイムで、次のようなRuntimeClassを定義できます。
30
30
31
31
``` yaml
32
- ---
33
- kind : RuntimeClass
34
32
apiVersion : node.k8s.io/v1
33
+ kind : RuntimeClass
35
34
metadata :
36
- name : kata-fc
35
+ name : kata-fc
37
36
handler : kata-fc
38
37
overhead :
39
- podFixed :
40
- memory : " 120Mi"
41
- cpu : " 250m"
38
+ podFixed :
39
+ memory : " 120Mi"
40
+ cpu : " 250m"
42
41
` ` `
43
42
44
43
` kata-fc`RuntimeClassハンドラーを指定して作成されたワークロードは、リソースクォータの計算や、Nodeのスケジューリング、およびPodのcgroupのサイズ決定にメモリーとCPUのオーバーヘッドが考慮されます。
54
53
runtimeClassName: kata-fc
55
54
containers:
56
55
- name: busybox-ctr
57
- image: busybox
56
+ image: busybox:1.28
58
57
stdin: true
59
58
tty: true
60
59
resources:
@@ -108,9 +107,9 @@ kubectl describe node | grep test-pod -B2
108
107
109
108
出力では、2250mのCPUと320MiBのメモリーが要求されており、Podのオーバーヘッドが含まれていることが分かります。
110
109
```
111
- Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
112
- --------- ---- ------------ ---------- --------------- ------------- ---
113
- default test-pod 2250m (56%) 2250m (56%) 320Mi (1%) 320Mi (1%) 36m
110
+ Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
111
+ --------- ---- ------------ ---------- --------------- ------------- ---
112
+ default test-pod 2250m (56%) 2250m (56%) 320Mi (1%) 320Mi (1%) 36m
114
113
```
115
114
116
115
## Podのcgroupの制限を確認
@@ -132,7 +131,7 @@ sudo crictl inspectp -o=json $POD_ID | grep cgroupsPath
132
131
133
132
結果のcgroupパスにはPodの` ポーズ中 ` コンテナも含まれます。Podレベルのcgroupは1つ上のディレクトリです。
134
133
```
135
- "cgroupsPath": "/kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2/7ccf55aee35dd16aca4189c952d83487297f3cd760f1bbf09620e206e7d0c27a"
134
+ "cgroupsPath": "/kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2/7ccf55aee35dd16aca4189c952d83487297f3cd760f1bbf09620e206e7d0c27a"
136
135
```
137
136
138
137
今回のケースでは、Podのcgroupパスは、` kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2 ` となります。メモリーのPodレベルのcgroupの設定を確認しましょう。
0 commit comments