Pod Scheduling - CI/CD用語集の定義
pod schedulingは、リソースリクエストをnodeの容量や配置ルールと照らし合わせて、どのnodeが各podを実行するかを決めます。
pod schedulingとは、Kubernetesのschedulerがリソースリクエスト、制約、アフィニティ、taint、利用可能な容量に基づいて新しいpodのためのnodeを選択するプロセスです。
deployがpodがPendingのまま止まって進まないとき、たいていschedulingが原因です。これを理解しておくと、rolloutがなぜ健全な状態にならないのかをデバッグしやすくなります。
よくある失敗パターン
podがPendingのまま止まる場合、そのCPUやメモリのリクエストを満たすnodeが存在しないか、taintがブロックしていることが多いです。kubectl describe podを実行すると、その理由を説明するschedulerのイベントが表示されます。
関連ガイド
Node Affinity - CI/CD Glossary DefinitionNode Affinity: Node affinity is a scheduling rule that attracts pods to nodes matching specified labels, eith…
Taint and Toleration - CI/CD Glossary DefinitionTaint and Toleration: A taint repels pods from a node unless the pod carries a matching toleration, letting y…
Cluster Autoscaler - CI/CD Glossary DefinitionCluster Autoscaler: A cluster autoscaler adds nodes when pods cannot be scheduled for lack of capacity and re…