6章Automated Placement(自動的な配置)
Automated Placement(自動的な配置)は、コンテナのリソース要求を満たし、スケジューリングポリシーを守れるノードに対して新しいPodを割り当てる、Kubernetesスケジューラのコア機能です。このパターンでは、Kubernetesのスケジューリングアルゴリズムの原則と、外部から配置の決断に影響を与える方法を説明します。
6.1 問題
適切なサイズのマイクロサービスからなるシステムは、数十あるいは数百の別々のプロセスから構成されています。コンテナやPodはパッケージングやデプロイに対するちょうどよい抽象化の仕組みを提供していますが、これらのプロセスを条件に合うノードに配置するという問題は解決してくれません。巨大で成長し続ける多くのマイクロサービスにおいて、それぞれのプロセスをノードに割り当てて配置するのは、簡単な仕事ではありません。
コンテナは相互に依存関係があり、ノード、リソース需要に依存関係があり、それらの時系列の変化に対しても依存関係を持っています。クラスタで利用可能なリソースも、クラスタの縮小や拡大、あるいはすでに配置済みのコンテナによって消費されるなどの理由で、時間によって変化します。コンテナを配置する方法も、分散システムの可用性、パフォーマンス、キャパシティに影響を与えます。これらの要素は、ノードに対するコンテナのスケジューリングを不安定なものにします。
6.2 解決策
Kubernetesにおいて、ノードに対するPodのアサインはスケジューラによって行われます。この仕組みは高度に設定可能なKubernetesの一部であり、今も進化を続け、改善されています。この章では、主なスケジューリング制御メカニズム、コンテナの配置に影響を及ぼす要素、各配置方法を選択すべきあるいはすべきでない理由、それぞれを選択した結果について説明します。Kubernetesのスケジューラは、強力で、時間削減に役立つツールです。スケジューラは、Kubernetesのプラットフォーム全体の中で基本的役割を担っている一方、他のKubernetesのコンポーネント(APIサーバ、Kubelet)と同様に、分離して動作させたり、全く使わなくてもよくなっています。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access