@@ -50,65 +50,10 @@ _スコアリング_ ステップでは、Podを割り当てるのに最も適
50
50
51
51
最後に、kube-schedulerは最も高いランクのNodeに対してPodを割り当てます。もし同一のスコアのNodeが複数ある場合は、kube-schedulerがランダムに1つ選択します。
52
52
53
- ### デフォルトのポリシーについて
53
+ スケジューラーのフィルタリングとスコアリングの動作に関する設定には2つのサポートされた手法があります。
54
54
55
- kube-schedulerは、デフォルトで用意されているスケジューリングポリシーのセットを持っています。
56
-
57
- ### フィルタリング
58
-
59
- - ` PodFitsHostPorts ` : Nodeに、Podが要求するポートが利用可能かどうかをチェックします。
60
-
61
- - ` PodFitsHost ` : Podがそのホスト名において特定のNodeを指定しているかをチェックします。
62
-
63
- - ` PodFitsResources ` : Nodeに、Podが要求するリソース(例: CPUとメモリー)が利用可能かどうかをチェックします。
64
-
65
- - ` PodMatchNodeSelector ` : PodのNodeSelectorが、Nodeのラベルにマッチするかどうかをチェックします。
66
-
67
- - ` NoVolumeZoneConflict ` : Podが要求するVolumeがNode上で利用可能かを、障害が発生しているゾーンを考慮して評価します。
68
-
69
- - ` NoDiskConflict ` : NodeのVolumeがPodの要求を満たし、すでにマウントされているかどうかを評価します。
70
-
71
- - ` MaxCSIVolumeCount ` : CSI Volumeをいくつ割り当てるべきか決定し、それが設定された上限を超えるかどうかを評価します。
72
-
73
- - ` CheckNodeMemoryPressure ` : もしNodeがメモリーの容量が逼迫している場合、また設定された例外がない場合はそのPodはそのNodeにスケジュールされません。
74
-
75
- - ` CheckNodePIDPressure ` : もしNodeのプロセスIDが枯渇しそうになっていた場合や、設定された例外がない場合はそのPodはそのNodeにスケジュールされません。
76
-
77
- - ` CheckNodeDiskPressure ` : もしNodeのストレージが逼迫している場合(ファイルシステムの残り容量がほぼない場合)や、設定された例外がない場合はそのPodはそのNodeにスケジュールされません。
78
-
79
- - ` CheckNodeCondition ` : Nodeは、ファイルシステムの空き容量が完全になくなった場合、ネットワークが利用不可な場合、kubeletがPodを稼働させる準備をできていない場合などに、その状況を通知できます。Nodeがこの状況下かつ設定された例外がない場合、Podは該当のNodeにスケジュールされません。
80
-
81
- - ` PodToleratesNodeTaints ` : PodのTolerationがNodeのTaintを許容できるかチェックします。
82
-
83
- - ` CheckVolumeBinding ` : Podが要求するVolumeの要求を満たすか評価します。これはPersistentVolumeClaimがバインドされているかに関わらず適用されます。
84
-
85
- ### スコアリング
86
-
87
- - ` SelectorSpreadPriority ` : 同一のService、StatefulSetや、ReplicaSetに属するPodを複数のホストをまたいで稼働させます。
88
-
89
- - ` InterPodAffinityPriority ` : weightedPodAffinityTermの要素をイテレートして合計を計算したり、もし一致するPodAffinityTermがNodeに適合している場合は、"重み"を合計値に足したりします。:最も高い合計値を持つNode(複数もあり)が候補となります。
90
-
91
- - ` LeastRequestedPriority ` : 要求されたリソースがより低いNodeを優先するものです。言い換えると、Nodeに多くのPodが稼働しているほど、Podが使用するリソースが多くなり、その要求量が低いNodeが選択されます。
92
-
93
- - ` MostRequestedPriority ` : 要求されたリソースがより多いNodeを優先するものです。このポリシーは、ワークロードの全体セットを実行するために必要な最小数のNodeに対して、スケジュールされたPodを適合させます。
94
-
95
- - ` RequestedToCapacityRatioPriority ` : デフォルトのリソーススコアリング関数を使用して、requestedToCapacityベースのResourceAllocationPriorityを作成します。
96
-
97
- - ` BalancedResourceAllocation ` : バランスのとれたリソース使用量になるようにNodeを選択します。
98
-
99
- - ` NodePreferAvoidPodsPriority ` : Nodeの` scheduler.alpha.kubernetes.io/preferAvoidPods ` というアノテーションに基づいてNodeの優先順位づけをします。この設定により、2つの異なるPodが同じNode上で実行しないことを示唆できます。
100
-
101
- - ` NodeAffinityPriority ` : "PreferredDuringSchedulingIgnoredDuringExecution"の値によって示されたNode Affinityのスケジューリング性向に基づいてNodeの優先順位づけを行います。詳細は[ NodeへのPodの割り当て] ( https://kubernetes.io/ja/docs/concepts/scheduling-eviction/assign-pod-node/ ) にて確認できます。
102
-
103
- - ` TaintTolerationPriority ` : Node上における許容できないTaintsの数に基づいて、全てのNodeの優先順位リストを準備します。このポリシーでは優先順位リストを考慮してNodeのランクを調整します。
104
-
105
- - ` ImageLocalityPriority ` : すでにPodに対するコンテナイメージをローカルにキャッシュしているNodeを優先します。
106
-
107
- - ` ServiceSpreadingPriority ` : このポリシーの目的は、特定のServiceに対するバックエンドのPodが、それぞれ異なるNodeで実行されるようにすることです。このポリシーではServiceのバックエンドのPodがすでに実行されていないNode上にスケジュールするように優先します。これによる結果として、Serviceは単体のNode障害に対してより耐障害性が高まります。
108
-
109
- - ` CalculateAntiAffinityPriorityMap ` : このポリシーは[ PodのAnti-Affinity] ( /ja/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity ) の実装に役立ちます。
110
-
111
- - ` EqualPriorityMap ` : 全てのNodeに対して等しい重みを与えます。
55
+ 1 . [ スケジューリングポリシー] ( /docs/reference/scheduling/policies ) は、フィルタリングのための_Predicates_とスコアリングのための_Priorities_の設定することができます。
56
+ 1 . [ スケジューリングプロファイル] ( /docs/reference/scheduling/config/#profiles ) は、` QueueSort ` 、 ` Filter ` 、 ` Score ` 、 ` Bind ` 、 ` Reserve ` 、 ` Permit ` やその他を含む異なるスケジューリングの段階を実装するプラグインを設定することができます。kube-schedulerを異なるプロファイルを実行するように設定することもできます。
112
57
113
58
114
59
## {{% heading "whatsnext" %}}
@@ -118,4 +63,8 @@ kube-schedulerは、デフォルトで用意されているスケジューリン
118
63
* kube-schedulerの[ リファレンスドキュメント] ( /docs/reference/command-line-tools-reference/kube-scheduler/ ) を参照してください。
119
64
* [ 複数のスケジューラーの設定] ( /docs/tasks/administer-cluster/configure-multiple-schedulers/ ) について学んでください。
120
65
* [ トポロジーの管理ポリシー] ( /docs/tasks/administer-cluster/topology-manager/ ) について学んでください。
121
- * [ Podのオーバーヘッド] ( /docs/concepts/configuration/pod-overhead/ ) について学んでください。
66
+ * [ Podのオーバーヘッド] ( /docs/concepts/scheduling-eviction/pod-overhead/ ) について学んでください。
67
+ * ボリュームを使用するPodのスケジューリングについて以下で学んでください。
68
+ * [ Volume Topology Support] ( /docs/concepts/storage/storage-classes/#volume-binding-mode )
69
+ * [ ストレージ容量の追跡] ( /ja//docs/concepts/storage/storage-capacity/ )
70
+ * [ Node-specific Volume Limits] ( /docs/concepts/storage/storage-limits/ )
0 commit comments