YuniKorn中国の公式ウェブサイト:から参考記事http://www.yunikorn.cn/
、YuniKornプロフィール
YuniKornは、血管スケジューリングシステム用の軽量ユニバーサルリソーススケジューラです。これは、他の一方で、動的クラウドネイティブな環境を作成することができ、ワークロードのきめ細かい多様な実装効果的にリソースを共有するために大規模な、マルチテナント環境で手に作成されました。
ステートレスバッチ・ワークロードと状態サービスを含む統一されたクロスプラットフォームのスケジューリング混合ワークロードの経験を、提供しますが、YARNのサポートとKubernetes、これらに限定されないYuniKorn。YuniKorn [「チュ:nikɔ:n]は虚数項、糸の 『Y』の代表であり、同一の顕著 『ユニコーン』との一体K8Sの 『K』の代表、 『ユニ』代表。もともとは、両方のシステムをサポートするために作成されますが、最終的な目標は、任意の容器コーディネーターシステムをサポートすることができ、統一スケジューラを作成することですました。
導入された2つの、YuniKornコンポーネント
次のようにYuniKornは現在、4つのコンポーネントがあります。
(1)yunikornスケジューラインタフェース
(2)yunikornコア
(3)yunikorn-k8shim
(4)yunikornウェブ
三、YuniKornコンポーネント機能
YuniKorn -Schedulerインターフェイス:インターフェイスは、と話をしたいと、このようなGRPC /プログラミング言語バインディングとして、抽象化レイヤのAPIによって(例えばYARN / K8Sなど)リソーススケジューラ管理プラットフォームです。
YuniKornコア:YuniKornコアは、それが(例えば糸/ K8S)以下リソース管理プラットフォームのリソースから収集されたすべてのスケジューリング・アルゴリズムをカプセル化し、そしてリソース割当要求の原因です。これは各リクエストの最適な配置位置を決定し、リソース割当管理プラットフォームへの応答を送信します。スケジューラコアは、ディスパッチャインタフェースを介してすべての通信を、プラットフォームに依存しない基礎となります。
スケジューラシム層:ホスト・オペレーティング・システムにおけるシムスケジューラ(例えば、糸/ K8S)スケジューラインタフェース変換リソースとリソース要求を介して、ホストシステムの責任であり、コアスケジューラに送信し、。実際のポッド/コンテナ結合する責任がある意思決定スケジューラを作るには。
スケジューラUI:UIスケジューラ、コンピューティングリソース、アプリケーション、およびキュー管理対象ノードの単純なビューを提供します。
四、YuniKorn背景誕生
多くの企業ユーザーは、このような糸とKubernetesなど異なるプラットフォーム上でワークロードを実行します。彼らは、これらのプラットフォーム上で実行効率的にワークロードを計画するために、異なるリソーススケジューラを使用する必要があります。しかし、現状では、スケジューラ・エコシステムは断片化され、多くの点で非常に良いではありません。例えば:
(1)糸容量スケジューラフェアスケジューラバッチワークロードを有します。
(2)K8Sは、デフォルトのスケジューラサービスを提供しています。バッチ・ワークロードのために、地域社会KUBE-バッチ、ポセイドン、ルビックス(スパークスケジューラ拡張子の)。
五、YuniKornアーキテクチャ設計
YuniKorn一つの設計目標は、したがって、我々はYuniKornは、通信プロトコルの一般的なスケジューラ・インタフェースを定義し作成した、基本的なスケジューラのリソース管理システムを分離することです。それを使用することにより、スケジューラ・コアは、一緒に働くとスケジューリング要求をシムします。YuniKornアーキテクチャの設計について、次のように:
六、YuniKornスケジューリング機能
以下は、現在サポートされているYuniKornスケジューリング機能のリストです:
(1)サポートバッチジョブのスケジューリング機能と長時間実行/ステートフルサービス
(2)最小/最大リソースクォータ階層プール/キューを有します
(3)キュー、ユーザーとアプリケーションの間でリソースの公平性を
キューを横切る(4)株式に基づくプリエンプション
(5)カスタムリソースの種類(例えば、GPU)スケジューリング
(6)豊富なスケジューリング制約のサポート
(7)自動ポリシーに従ってキュー・コンテナへの着信要求をマップ
(8)専用のクォータ管理ノードのACL分割/サブクラスタに大きいクラスタ