1
1
---
2
- tille : ワークロードの自動スケーリング
2
+ title : ワークロードの自動スケーリング
3
3
description : >-
4
4
自動スケーリングによって、何らかのかたちでワークロードを自動的に更新できます。これによりクラスターはリソース要求の変化に対してより弾力的かつ効率的に対応できるようになります。
5
5
content_type : concept
@@ -22,25 +22,25 @@ Kubernetesでは、現在のリソース要求に応じてワークロードを
22
22
## ワークロードを手動でスケーリングする {#scaling-workloads-manually}
23
23
24
24
Kubernetesはワークロードの _ 手動スケーリング_ をサポートします。
25
- 水平スケーリングは ` kubectl ` CLIを使用して行うことができます。
25
+ 水平スケーリングは` kubectl ` CLIを使用して行うことができます。
26
26
垂直スケーリングの場合、ワークロードのリソース定義を _ パッチ適用_ する必要があります。
27
27
28
28
両方の戦略の例については以下をご覧ください。
29
29
30
- - ** 水平スケーリング** : [ Running multiple instances of your app ] ( /ja/docs/tutorials/kubernetes-basics/scale/scale-intro/ )
31
- - ** 垂直スケーリング** : [ Resizing CPU and memory resources assigned to containers ] ( /docs/tasks/configure-pod-container/resize-container-resources )
30
+ - ** 水平スケーリング** : [ アプリケーションの複数インスタンスを実行 ] ( /ja/docs/tutorials/kubernetes-basics/scale/scale-intro/ )
31
+ - ** 垂直スケーリング** : [ コンテナに割り当てるCPUとメモリ容量を変更 ] ( /ja /docs/tasks/configure-pod-container/resize-container-resources)
32
32
33
33
## ワークロードを自動でスケーリングする {#scaling-workloads-automatically}
34
34
35
35
Kubernetesはワークロードの _ 自動スケーリング_ もサポートしており、これがこのページの焦点です。
36
36
37
- Kubernetesにおける _ オートスケーリング_ の概念は一連のPodを管理するオブジェクト (例えば{{< glossary_tooltip text="Deployment" term_id="deployment" >}})を自動的に更新する機能を指します。
37
+ Kubernetesにおける _ オートスケーリング_ の概念は、一連のPodを管理するオブジェクト (例えば{{< glossary_tooltip text="Deployment" term_id="deployment" >}})を自動的に更新する機能を指します。
38
38
39
39
### ワークロードを水平方向にスケーリングする {#scaling-workloads-horizontally}
40
40
41
41
Kubernetesにおいて、 _ HorizontalPodAutoscaler_ (HPA)を使用してワークロードを水平方向に自動的にスケールできます。
42
42
43
- これはKubernetes APIリソースおよび{{< glossary_tooltip text="コントローラー" term_id="controller">}}として実装されておりCPUやメモリ使用率のような観測されたリソース使用率と一致するようにワークロードの {{<glossary_tooltip text="レプリカ" term_id="replica" >}}数を定期的に調整します。
43
+ これはKubernetes APIリソースおよび{{< glossary_tooltip text="コントローラー" term_id="controller">}}として実装されており、CPUやメモリ使用率のような観測されたリソース使用率と一致するようにワークロードの {{<glossary_tooltip text="レプリカ" term_id="replica" >}}数を定期的に調整します。
44
44
45
45
Deployment用のHorizontalPodAutoscalerを構成する[ ウォークスルーチュートリアル] ( /ja/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough ) があります。
46
46
@@ -62,59 +62,58 @@ VPAが機能するにはクラスターに[Metrics Server](https://github.com/ku
62
62
{{< table caption="VPAの異なるモード" >}}
63
63
モード | 説明
64
64
:----|:-----------
65
- ` Auto ` | 現在、 ` Recreate ` は将来インプレースアップデートに変更される可能性があります
66
- ` Recreate ` | VPAはPod作成時にリソースリクエストを割り当てるだけでなく、要求されたリソースが新しい推奨事項と大きく異なる場合にそれらを削除することによって既存のPod上でリソースリクエストを更新します
67
- ` Initial ` | VPAはPod作成時にリソースリクエストを割り当て、後から変更することはありません
68
- ` Off ` | VPAはPodのリソース要件を自動的に変更しません。推奨事項は計算され、VPAオブジェクトで検査できます
65
+ ` Auto ` | 現在は ` Recreate ` です。これは将来インプレースアップデートに変更される可能性があります。
66
+ ` Recreate ` | VPAはPod作成時にリソースリクエストを割り当てるだけでなく、要求されたリソースが新しい推奨事項と大きく異なる場合にそれらを削除することによって既存のPod上でリソースリクエストを更新します。
67
+ ` Initial ` | VPAはPod作成時にリソースリクエストを割り当て、後から変更することはありません。
68
+ ` Off ` | VPAはPodのリソース要件を自動的に変更しません。推奨事項は計算され、VPAオブジェクトで検査できます。
69
69
{{< /table >}}
70
70
71
- #### インプレースリサイズの要件 {#requirements-for- in-place-resizing }
71
+ #### インプレースPodの水平スケーリング {#in-place-pod-vertical-scaling }
72
72
73
- {{< feature-state for_k8s_version="v1.27" state="alpha " >}}
73
+ {{< feature-state feature_gate_name="InPlacePodVerticalScaling " >}}
74
74
75
- {{< glossary_tooltip text="Pod" term_id="pod" >}}またはその{{< glossary_tooltip text="コンテナ" term_id="container" >}}を再起動** せずに** インプレースでワークロードをリサイズするには、Kubernetesバージョン1.27以降が必要です。
76
- さらに、` InPlaceVerticalScaling ` フィーチャーゲートを有効にする必要があります。
77
-
78
- {{< feature-gate-description name="InPlacePodVerticalScaling" >}}
75
+ Kubernetes {{< skew currentVersion >}}の時点では、VPAはインプレースでのPodのリサイズをサポートしていませんが、この統合は現在作業中です。
76
+ インプレースでPodの手動リサイズをするには、[ コンテナリソースをインプレースでリサイズする] ( /ja/docs/tasks/configure-pod-container/resize-container-resources/ ) を参照してください。
79
77
80
78
### クラスターサイズに基づく自動スケーリング {#autoscaling-based-on-cluster-size}
81
79
82
- クラスターのサイズに基づいてスケールする必要があるワークロード( 例えば` cluster-dns ` や他のシステムコンポーネント) の場合は、[ _ Cluster Proportional Autoscaler_ ] ( https://github.com/kubernetes-sigs/cluster-proportional-autoscaler ) を使用できます。
80
+ クラスターのサイズに基づいてスケールする必要があるワークロード( 例えば` cluster-dns ` や他のシステムコンポーネント) の場合は、[ _ Cluster Proportional Autoscaler_ ] ( https://github.com/kubernetes-sigs/cluster-proportional-autoscaler ) を使用できます。
83
81
VPAと同じように、これはKubernetesのコア部分ではありませんが、独自のGitHubプロジェクトとしてホストされています。
84
82
85
83
Cluster Proportional Autoscalerはスケジュール可能な{{< glossary_tooltip text="ノード" term_id="node" >}}とコアの数を監視し、それに応じてターゲットワークロードのレプリカ数をスケールします。
86
84
87
85
レプリカ数を同じままにする必要がある場合、[ _ Cluster Proportional Vertical Autoscaler_ ] ( https://github.com/kubernetes-sigs/cluster-proportional-vertical-autoscaler ) を使用してクラスターサイズに応じてワークロードを垂直方向にスケールできます。
88
86
このプロジェクトは** 現在ベータ版** でありGitHubで見つけることができます。
89
87
90
- Cluster Proportional Autoscalerがワークロードのレプリカ数をスケールする一方で、Cluster Proportional Vertical Autoscalerはクラスター内のノードおよび/またはコアの数に基づいてワークロード( 例えばDeploymentやDaemonSet) のリソース要求を調整します。
88
+ Cluster Proportional Autoscalerがワークロードのレプリカ数をスケールする一方で、Cluster Proportional Vertical Autoscalerはクラスター内のノードおよび/またはコアの数に基づいてワークロード( 例えばDeploymentやDaemonSet) のリソース要求を調整します。
91
89
92
90
### イベント駆動型自動スケーリング {#event-driven-autoscaling}
93
91
94
92
例えば[ _ Kubernetes Event Driven Autoscaler_
95
93
(** KEDA** )] ( https://keda.sh/ ) を使用して、イベントに基づいてワークロードをスケールすることもできます。
96
94
97
- KEDAは例えばキューのメッセージ数などの処理するべきイベント数に基づいてワークロードをスケールするCNCF graduatedプロジェクトです。様々なイベントソースに合わせて選択できる幅広いアダプターが存在します。
95
+ KEDAは例えばキューのメッセージ数などの処理するべきイベント数に基づいてワークロードをスケールするCNCF Graduatedプロジェクトです。
96
+ 様々なイベントソースに合わせて選択できる幅広いアダプターが存在します。
98
97
99
98
### スケジュールに基づく自動スケーリング {#autoscaling-based-on-schedules}
100
99
101
100
ワークロードををスケールするためのもう一つの戦略は、例えばオフピークの時間帯にリソース消費を削減するために、スケーリング操作を** スケジュールする** ことです。
102
101
103
102
イベント駆動型オートスケーリングと同様に、そのような動作はKEDAを[ ` Cron ` スケーラー] ( https://keda.sh/docs/latest/scalers/cron/ ) と組み合わせて使用することで実現できます。
104
- ` Cron ` スケーラーによりワークロードをスケールインまたはスケールアウトするためのスケジュール( およびタイムゾーン) を定義できます。
103
+ ` Cron ` スケーラーによりワークロードをスケールインまたはスケールアウトするためのスケジュール( およびタイムゾーン) を定義できます。
105
104
106
- ## クラスターのインフラストラクチャーのスケーリング {#scaling-cluster-infrastructure}
105
+ ## クラスターのインフラストラクチャのスケーリング {#scaling-cluster-infrastructure}
107
106
108
- ワークロードのスケーリングだけではニーズを満たすのに十分でない場合は、クラスターのインフラストラクチャー自体をスケールすることもできます 。
107
+ ワークロードのスケーリングだけではニーズを満たすのに十分でない場合は、クラスターのインフラストラクチャ自体をスケールすることもできます 。
109
108
110
- クラスターのインフラストラクチャーのスケーリングは通常 {{< glossary_tooltip text="ノード" term_id="node" >}}の追加または削除を意味します。
111
- 詳しくは[ クラスターの自動スケーリング ] ( /docs/concepts/cluster-administration/cluster -autoscaling/ ) を読んでください。
109
+ クラスターのインフラストラクチャのスケーリングは通常 {{< glossary_tooltip text="ノード" term_id="node" >}}の追加または削除を意味します。
110
+ 詳しくは[ Nodeの自動スケーリング ] ( /docs/concepts/cluster-administration/node -autoscaling/ ) を読んでください。
112
111
113
112
## {{% heading "whatsnext" %}}
114
113
115
114
- 水平スケーリングについて詳しく学ぶ
116
115
- [ StatefulSetのスケール] ( /ja/docs/tasks/run-application/scale-stateful-set/ )
117
116
- [ HorizontalPodAutoscalerウォークスルー] ( /ja/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ )
118
- - [ コンテナリソースのインプレースサイズ変更] ( /docs/tasks/configure-pod-container/resize-container-resources/ )
117
+ - [ コンテナリソースのインプレースサイズ変更] ( /ja/ docs/tasks/configure-pod-container/resize-container-resources/ )
119
118
- [ クラスター内のDNSサービスを自動スケールする] ( /docs/tasks/administer-cluster/dns-horizontal-autoscaling/ )
120
- - [ クラスターの自動スケーリング ] ( /docs/concepts/cluster-administration/cluster -autoscaling/ ) について学ぶ
119
+ - [ Nodeの自動スケーリング ] ( /docs/concepts/cluster-administration/node -autoscaling/ ) について学ぶ
0 commit comments