JP2022017686A - コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム - Google Patents

コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム Download PDF

Info

Publication number
JP2022017686A
JP2022017686A JP2020120377A JP2020120377A JP2022017686A JP 2022017686 A JP2022017686 A JP 2022017686A JP 2020120377 A JP2020120377 A JP 2020120377A JP 2020120377 A JP2020120377 A JP 2020120377A JP 2022017686 A JP2022017686 A JP 2022017686A
Authority
JP
Japan
Prior art keywords
cluster
deployed
master device
container
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2020120377A
Other languages
English (en)
Inventor
崇 白石
Takashi Shiraishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020120377A priority Critical patent/JP2022017686A/ja
Priority to EP21169839.4A priority patent/EP3940537A1/en
Priority to US17/244,853 priority patent/US20220019477A1/en
Publication of JP2022017686A publication Critical patent/JP2022017686A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】配備時点における各クラスタのリソース状態に応じて、コンテナを配備可能なクラスタを決定することを可能とするコンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システムを提供する。【解決手段】グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件をマスタ装置のそれぞれに送信し、マスタ装置のそれぞれは、マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信したリソース条件を満たすか否かの判定を行い、判定の結果をグローバルマスタ装置に送信し、グローバルマスタ装置は、マスタ装置のそれぞれから受信した結果に基づいて、配備対象コンテナの配備先とするクラスタを決定する。【選択図】図7

Description

本発明は、コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システムに関する。
近年、サービスを提供するために実行するモジュールをコンテナという単位でパッケージ化して組み合わせることにより、障害からの復旧の簡素化や処理の負荷分散を行うコンテナ型仮想化技術の適用が進んでいる。
このようなコンテナ型仮想化技術は、カーネルが含まれないコンテナを配備することによって実現される。そのため、コンテナ型仮想化技術では、仮想マシン(VM:Virtual Machine)を用いる仮想化技術(以下、VM型仮想化技術とも呼ぶ)よりも物理リソースの使用量を抑えることが可能になる。
したがって、近年では、VM型仮想化技術を用いた情報処理システムからコンテナ型仮想化技術を用いた情報処理システムへの移行が活発に行われている(例えば、特許文献1及び2参照)。
特開2018-028824号公報 特開2015-158811号公報
ここで、上記のようなコンテナの管理は、例えば、近接した場所に配備された複数のノード(以下、サーバ装置とも呼ぶ)からなるクラスタごとに行われる。具体的に、各クラスタでは、例えば、各ノードに対するコンテナの配備等を行うマスタ装置によって各コンテナの管理が行われる。これにより、コンテナ型仮想化技術を用いた情報処理システム(以下、単に情報処理システムとも呼ぶ)では、新たなコンテナの配備を複数のマスタ装置において分散して行うことが可能になる。そのため、情報処理システムでは、管理対象のコンテナの数が膨大である場合や新たなコンテナの配備要求が高い頻度で発生する場合であっても、新たなコンテナの配備に要する時間の増加を抑えることが可能になる。
ここで、上記のようにコンテナの管理をクラスタごとに行う場合、情報処理システムでは、複数のクラスタを統合的に管理する必要性から、各クラスタにおけるマスタ装置の管理を行うグローバルマスタ装置の配備が行われる。
このようなグローバルマスタ装置は、例えば、新しいコンテナの配備要求を受け付けた場合、管理者によって予め指定されたクラスタのマスタ装置に対して新たなコンテナの配備指示を行う。そして、配備指示を受信したマスタ装置は、新たなコンテナの配備を行うノードを管理対象のノードから決定する。
しかしながら、配備指示を受信したマスタ装置は、新たなコンテナを配備可能なノードが管理対象のノードに存在しない場合、新たなコンテナの配備を行うことができない。そのため、グローバルマスタ装置は、この場合、新たなコンテナの配備指示を他のクラスタのマスタ装置に再度行わせる必要があり、新たなコンテナの配備を効率的に行うことができない。
そこで、一つの側面では、本発明は、配備時点における各クラスタのリソース状態に応じて、コンテナを配備可能なクラスタを決定することを可能とするコンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システムを提供することを目的とする。
実施の形態の一態様では、各クラスタ内においてマスタ装置を有するとともに前記マスタ装置と通信可能なグローバルマスタ装置を有するコンテナ配備先クラスタ決定システムにおけるコンテナ配備先クラスタ決定方法であって、前記グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件を前記マスタ装置のそれぞれに送信し、前記マスタ装置のそれぞれは、前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信した前記リソース条件を満たすか否かの判定を行い、前記判定の結果を前記グローバルマスタ装置に送信し、前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する。
一つの側面によれば、配備時点における各クラスタのリソース状態に応じて、コンテナを配備可能なクラスタを決定することを可能とする。
図1は、情報処理システム10の構成について説明する図である。 図2は、情報処理システム10の構成について説明する図である。 図3は、グローバルマスタ装置1のハードウエア構成を説明する図である。 図4は、マスタ装置2のハードウエア構成を説明する図である。 図5は、グローバルマスタ装置1の機能のブロック図である。 図6は、マスタ装置2の機能のブロック図である。 図7は、第1の実施の形態における配備先クラスタ決定処理の概略を説明するシーケンスチャート図である。 図8は、第1の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。 図9は、第1の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。 図10は、第1の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。 図11は、配備要求DRの具体例を説明する図である。 図12は、クラスタ情報131の具体例について説明する図である。 図13は、リソース情報231の具体例について説明する図である。 図14は、重み情報232の具体例について説明する図である。 図15は、第2の実施の形態における配備先クラスタ決定処理の概略を説明するシーケンスチャート図である。 図16は、第2の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。 図17は、第2の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。 図18は、第2の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。
[情報処理システムの構成]
初めに、情報処理システム10(以下、コンテナ配備先クラスタ決定システム10とも呼ぶ)の構成について説明を行う。図1及び図2は、情報処理システム10の構成について説明する図である。
図1に示す情報処理システム10は、グローバルマスタ装置1と、マスタ装置2a、2b及び2c(以下、これらを総称して単にマスタ装置2とも呼ぶ)と、サーバ装置3a、3b、3c、3d及び3e(以下、これらを総称して単にサーバ装置3とも呼ぶ)とを有する。グローバルマスタ装置1、マスタ装置2及びサーバ装置3のそれぞれは、例えば、物理マシンや仮想マシンであってよい。また、サーバ装置3のそれぞれは、例えば、ルータ装置やカメラデバイス等であってもよい。
そして、図1に示す例では、マスタ装置2a、サーバ装置3a及びサーバ装置3bがクラスタCL1を構成し、マスタ装置2b、サーバ装置3c及びサーバ装置3dがクラスタCL2を構成し、マスタ装置2c及びサーバ装置3eがクラスタCL3を構成している。
さらに、図1に示す例において、サーバ装置3aでは、コンテナ(以下、CONとも表記する)4aが動作しており、サーバ装置3bでは、コンテナ4bが動作しており、サーバ装置3cでは、コンテナ4cが動作している。また、図1に示す例において、サーバ装置3dでは、コンテナ4dとコンテナ4eとが動作しており、サーバ装置3eでは、コンテナ4fが動作している。コンテナ4a、4b、4c、4d及び4e(以下、これらを総称して単にコンテナ4とも呼ぶ)のそれぞれは、例えば、ローカル5Gのコア機能やファイアウォール機能等のネットワーク機能(CNF:Cloud-native Network Fanction)を有するコンテナであってよい。
以下、情報処理システム10が3台のマスタ装置2と5台のサーバ装置3を有し、これらが3つのクラスタを構成する場合について説明を行うが、情報処理システム10は、これ以外の台数のマスタ装置2及びサーバ装置3を有し、これらが3つ以外の数のクラスタを構成するものであってもよい。
また、クラスタCL1、クラスタCL2及びクラスタCL3のそれぞれは、別のクラウド事業者によるクラウドサービスの提供に用いられるサーバ装置3によって構成されるクラスタであってよく、例えば、互いの位置が物理的に離れているものであってよい。すなわち、グローバルマスタ装置1は、例えば、冗長性の確保等の観点から複数のクラウドサービスの提供に用いられるサーバ装置3のそれぞれに配備された各コンテナ4(マルチクラウド環境における各コンテナ4)を横断的に管理するものであってよい。
さらに、各クラスタCLを構成するサーバ装置3のそれぞれは、例えば、データセンター(図示しない)に配備されたサーバ装置であってよく、また、クラウドサービスの利用者の事業所や店舗等に配備されたサーバ装置であってもよい。
図1に示す例において、グローバルマスタ装置1は、例えば、管理者が管理者端末(図示しない)を介して送信したコンテナ4の配備要求を受け付けた場合、その配備要求に対応するコンテナ4(以下、配備対象のコンテナ4とも呼ぶ)をサーバ装置3のうちのいずれかに配備する。
具体的に、グローバルマスタ装置1は、例えば、クラスタCL1、CL2及びCL3(以下、これらを総称して単にクラスタCLとも呼ぶ)におけるサーバ装置3のそれぞれのリソース状態を示す情報を、マスタ装置2a、2b及び2cのそれぞれから収集する。そして、グローバルマスタ装置1は、例えば、各マスタ装置2から収集した情報を用いることによって、クラスタCL1、CL2及びCL3の中から、配備対象のコンテナ4を配備可能なクラスタCLの決定を行う。その後、グローバルマスタ装置1は、決定したクラスタCLのマスタ装置2に対して、配備対象のコンテナ4の配備指示を送信する。
しかしながら、例えば、統合的に管理する必要があるサーバ装置3の数の多い場合、グローバルマスタ装置1は、配備対象のコンテナ4を配備可能なクラスタCLの決定に膨大な時間を要する。そのため、グローバルマスタ装置1は、この場合、配備対象のコンテナ4の配備を効率的に行うことができない。
そこで、グローバルマスタ装置1は、コンテナ4の配備要求を受け付けた場合、管理者によって予め指定されたクラスタCLを構成するマスタ装置2に対し、配備対象のコンテナ4の配備指示を行う。
具体的に、例えば、管理者によって予め指定されたクラスタCLがクラスタCL2である場合、グローバルマスタ装置1は、図2に示すように、クラスタCL2を構成するマスタ装置2bに対して、配備対象のコンテナ4の配備指示を行う。そして、マスタ装置2bは、クラスタCL2を構成するサーバ装置3c及びサーバ装置3dのうちのいずれかにおいて、配備対象のコンテナ4の配備を行う。
しかしながら、例えば、クラスタCL2を構成するサーバ装置3に、配備対象のコンテナ4を配備可能なサーバ装置3が存在しない場合、グローバルマスタ装置1は、配備対象のコンテナ4の配備を他のクラスタCLのマスタ装置2(マスタ装置2aまたはマスタ装置2c)に再度行わせる必要があり、配備対象のコンテナ4の配備を効率的に行うことができない。
そこで、本実施の形態におけるグローバルマスタ装置1は、配備要求に対応するコンテナ4の配備に要するリソース条件をマスタ装置2のそれぞれに送信する。
そして、マスタ装置2のそれぞれは、各マスタ装置2が配備されているクラスタCL内のリソースが、グローバルマスタ装置1から受信したリソース条件を満たすか否かの判定を行う。さらに、マスタ装置2のそれぞれは、その判定の結果をグローバルマスタ装置1に送信する。
その後、グローバルマスタ装置1は、マスタ装置2のそれぞれから受信した判定の結果に基づいて、配備対象のコンテナ4の配備先とするクラスタCL(以下、配備先クラスタCLとも呼ぶ)を決定する。
すなわち、グローバルマスタ装置1は、例えば、配備対象のコンテナ4の配備を行う前に、各クラスタCLにおけるリソース状態に対応する情報である判定の結果を全てのマスタ装置2から取得する。
これにより、グローバルマスタ装置1は、配備時点における各クラスタCLのリソース状態(各マスタ装置2から取得した判定の結果が示すリソース状態)に応じて、配備対象のコンテナ4を配備可能なクラスタCLを決定することが可能になる。そのため、グローバルマスタ装置1は、各クラスタCLのリソース状態に応じて決定したクラスタCLにおいて配備対象のコンテナ4の配備を行うことで、他のクラスタCLにおける配備をやり直しの発生を防止することが可能になる。従って、グローバルマスタ装置1は、配備対象のコンテナ4の配備を効率的に行うことが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図3は、グローバルマスタ装置1のハードウエア構成を説明する図である。また、図4は、マスタ装置2のハードウエア構成を説明する図である。
初めに、グローバルマスタ装置1のハードウエア構成について説明を行う。
グローバルマスタ装置1は、図3に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、配備対象のコンテナ4の配備先となるクラスタCLを決定する処理(以下、配備先クラスタ決定処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、配備先クラスタ決定処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して配備先クラスタ決定処理を行う。
また、通信装置103は、例えば、ネットワーク(図示しない)を介してマスタ装置2と通信を行う。
次に、マスタ装置2のハードウエア構成について説明を行う。
マスタ装置2は、図4に示すように、プロセッサであるCPU201と、メモリ202と、通信装置203と、記憶媒体204とを有する。各部は、バス205を介して互いに接続される。
記憶媒体204は、例えば、配備先クラスタ決定処理を行うためのプログラム210を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体204は、例えば、配備先クラスタ決定処理を行う際に用いられる情報を記憶する情報格納領域230を有する。なお、記憶媒体204は、例えば、HDDやSSDであってよい。
CPU201は、記憶媒体204からメモリ202にロードされたプログラム210を実行して配備先クラスタ決定処理を行う。
また、通信装置203は、例えば、ネットワーク(図示しない)を介してグローバルマスタ装置1及びサーバ装置3と通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図5は、グローバルマスタ装置1の機能のブロック図である。また、図6は、マスタ装置2の機能のブロック図である。
初めに、グローバルマスタ装置1の機能のブロック図について説明を行う。
グローバルマスタ装置1は、図5に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、要求受付部111と、条件送信部112と、結果受信部113と、配備先決定部114と、指示送信部115とを含む各種機能を実現する。
また、グローバルマスタ装置1は、例えば、図5に示すように、クラスタ情報131を情報格納領域130に記憶する。
要求受付部111は、例えば、管理者が管理者端末(図示しない)を介して送信したコンテナ4の配備要求を受け付ける。
条件送信部112は、配備対象のコンテナ4の配備に要するリソース条件をマスタ装置2のそれぞれに送信する。リソース条件は、例えば、要求受付部111が受け付けた配備要求に含まれる情報であって、配備対象のコンテナ4が使用するCPUのコア数及びメモリ量を含む情報である。
結果受信部113は、各マスタ装置2が配備されているクラスタCLにおける空きリソース(例えば、CPU及びメモリの空きリソース)が、条件送信部112によって送信されたリソース条件を満たすか否かについての判定の結果を、マスタ装置2のそれぞれから受信する。
配備先決定部114は、結果受信部113がマスタ装置2のそれぞれから受信した判定の結果に基づいて、配備対象のコンテナ4の配備を行うクラスタCLを決定する。
指示送信部115は、配備先決定部114が決定したクラスタCLのマスタ装置2に対して、配備対象のコンテナ4の配備指示を送信する。クラスタ情報131についての説明は後述する。
次に、マスタ装置2の機能のブロック図について説明を行う。
マスタ装置2は、図6に示すように、例えば、CPU201やメモリ202等のハードウエアとプログラム210とが有機的に協働することにより、条件受信部211と、条件判定部212と、スコア算出部213と、結果送信部214と、指示受信部215と、コンテナ配備部216とを含む各種機能を実現する。
また、マスタ装置2は、例えば、図6に示すように、リソース情報231と、重み情報232とを情報格納領域230に記憶する。
条件受信部211は、グローバルマスタ装置1から送信されたリソース条件を受信する。
条件判定部212は、自装置が配備されているクラスタCL内のリソースが、条件受信部211が受信したリソース条件を満たすか否かの判定を行う。
スコア算出部213は、自装置が配備されているクラスタCL内の各サーバ装置3におけるリソースの利用率(CPU及びメモリの利用率)に基づいて、自装置が配備されているクラスタCLのリソースの使用状態を示すスコアを算出する。
結果送信部214は、条件判定部212が行った判定の結果をグローバルマスタ装置1に送信する。また、結果送信部214は、スコア算出部213が算出したスコアをグローバルマスタ装置1に送信する。
指示受信部215は、グローバルマスタ装置1から送信された配備対象のコンテナ4の配備指示を受信する。
コンテナ配備部216は、指示受信部215が配備対象のコンテナ4の配備指示を受信したことに応じて、自装置が配備されているクラスタCL内のサーバ装置3のいずれかにおいて配備対象のコンテナ4を配備する。リソース情報231及び重み情報232についての説明は後述する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図7は、第1の実施の形態における配備先クラスタ決定処理の概略を説明するシーケンスチャート図である。
グローバルマスタ装置1は、図7に示すように、例えば、管理者端末(図示しない)から配備対象のコンテナ4の配備要求を受け付けた場合(S1)、配備対象のコンテナ4の配備に要するリソース条件をマスタ装置2(マスタ装置2a、マスタ装置2b及びマスタ装置2c)のそれぞれに送信する(S2)。
そして、マスタ装置2のそれぞれは、グローバルマスタ装置1からのリソース条件の受信に応じて、自装置が配備されているクラスタCL内のリソースが、グローバルマスタ装置1から受信したリソース条件を満たすか否かの判定を行う(S3)。さらに、マスタ装置2のそれぞれは、S3の処理における判定の結果をグローバルマスタ装置1に送信する(S4)。ここで、マスタ装置2のそれぞれが送信する判定の結果は、YES/NO等の文字列であってもよいし、YES/NOを示すためのフラグであってもよい。
その後、グローバルマスタ装置1は、マスタ装置2のそれぞれから受信した判定の結果に基づいて、配備対象のコンテナ4を配備するクラスタCLを決定する(S5)。
すなわち、グローバルマスタ装置1は、例えば、配備対象のコンテナ4の配備を行う前に、各クラスタCLにおけるリソース状態に対応する情報である判定の結果を全てのマスタ装置2から取得する。
これにより、グローバルマスタ装置1は、配備時点における各クラスタCLのリソース状態に応じて、配備対象のコンテナ4を配備可能なクラスタCLを決定することが可能になる。そのため、グローバルマスタ装置1は、各クラスタCLのリソース状態に応じて決定したクラスタCLにおいて配備対象のコンテナ4の配備を行うことで、他のクラスタCLにおける配備をやり直しの発生を防止することが可能になる。従って、グローバルマスタ装置1は、配備対象のコンテナ4の配備を効率的に行うことが可能になる。
なお、本実施の形態では、全てのマスタ装置2が判定の結果を送信するものとして説明を行ったが、リソース条件を満たすと判定したマスタ装置2のみが判定の結果を送信するものであってもよい。これにより、リソース条件を満たさないと判定したマスタ装置2が判定の結果を送信することがなくなるため、トラフィックへの影響を少なくすることが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図8から図10は、第1の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。また、図11から図15は、第1の実施の形態における配備先クラスタ決定処理の詳細を説明する図である。
[グローバルマスタ装置における処理(1)]
初めに、グローバルマスタ装置1における処理の一部について説明を行う。図8は、グローバルマスタ装置1における処理の説明するフローチャート図である。
グローバルマスタ装置1の要求受付部111は、例えば、管理者端末(図示しない)から送信された配備要求を受信するまで待機する(S11のNO)。以下、配備要求の具体例について説明を行う。
[配備要求の具体例]
図11は、配備要求DRの具体例を説明する図である。
図11に示す配備要求DRは、配備対象のコンテナ4が使用するCPUのコア数が設定される「使用CPU」と、配備対象のコンテナ4が使用するメモリ量が設定される「使用メモリ」とを項目として有する。
具体的に、図11に示す情報における1行目の情報には、「使用CPU」として「2(コア)」が設定され、「使用メモリ」として「10(MB)」が設定されている。
また、図11に示す情報における2行目の情報には、「使用CPU」として「3(コア)」が設定され、「使用メモリ」として「100(MB)」が設定されている。
すなわち、図11に示す配備要求DRは、使用CPUが2(コア)であって使用メモリ量が10(MB)であるコンテナ4と、使用CPUが3(コア)であって使用メモリ量が100(MB)であるコンテナ4との配備を要求する配備要求である。
図8に戻り、管理者端末(図示しない)から送信された配備要求を受信した場合(S11のYES)、グローバルマスタ装置1の条件送信部112は、S11の処理で受け付けた配備要求に対応する配備対象のコンテナ4の配備に要するリソース量を含むリソース条件をマスタ装置2のそれぞれに送信する(S12)。
具体的に、条件送信部112は、例えば、情報格納領域130に記憶されたクラスタ情報131を参照し、各クラスタCLにおけるマスタ装置2を特定する。そして、条件送信部112は、特定したマスタ装置2のそれぞれに対し、例えば、図11で説明した配備要求DRに含まれる各情報を送信する。以下、クラスタ情報131の具体例について説明を行う。
[クラスタ情報の具体例]
図12は、クラスタ情報131の具体例について説明する図である。
図12に示すクラスタ情報131は、各クラスタCLを識別する「クラスタID」と、各マスタ装置2を識別する「マスタID」と、各マスタ装置2のIPアドレスが設定される「接続先アドレス」とを項目として有する。
具体的に、図12に示すクラスタ情報131における1行目には、「クラスタID」として「CL1」が設定され、「マスタID」として「MS1」が設定され、「接続先アドレス」として「100.100.100.1」が設定されている。
また、図12に示すクラスタ情報131における2行目には、「クラスタID」として「CL2」が設定され、「マスタID」として「MS2」が設定され、「接続先アドレス」として「100.100.200.1」が設定されている。
さらに、図12に示すクラスタ情報131における3行目には、「クラスタID」として「CL3」が設定され、「マスタID」として「MS3」が設定され、「接続先アドレス」として「100.100.300.1」が設定されている。
なお、以下、マスタIDが「MS1」、「MS2」及び「MS3」であるマスタ装置2のそれぞれが、図1等で説明したマスタ装置2a、マスタ装置2b及びマスタ装置2cのそれぞれに対応するものとして説明を行う。
[マスタ装置における処理(1)]
次に、マスタ装置2における処理の一部について説明を行う。図9及び図10は、マスタ装置2における処理の説明するフローチャート図である。
マスタ装置2の条件受信部211は、図9に示すように、グローバルマスタ装置1からリソース条件を受信するまで待機する(S21のNO)。なお、グローバルマスタ装置1から各マスタ装置2に対するリソース条件の送信に要する時間は、例えば、10(ミリ秒)程度である。
そして、リソース条件を受信した場合(S21のYES)、マスタ装置2の条件判定部212は、自装置が配備されているクラスタCL内のサーバ装置3に、S21の処理で受信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在するか否かの判定を行う(S22)。
具体的に、条件判定部212は、例えば、自装置が配備されているクラスタCL内の各サーバ装置3の現在の空きリソース量(CPU及びメモリの空きリソース量)を示すリソース情報231を各サーバ装置3から取得する。そして、条件判定部212は、各サーバ装置3から取得したリソース情報231を参照し、S21の処理で受信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在するか否かの判定を行う。以下、リソース情報231の具体例について説明を行う。
[リソース情報の具体例]
図13は、リソース情報231の具体例について説明する図である。具体的に、図13(A)は、マスタ装置2aから取得したリソース情報231(以下、リソース情報231aとも呼ぶ)の具体例について説明する図である。また、図13(B)は、マスタ装置2bから取得したリソース情報231(以下、リソース情報231bとも呼ぶ)の具体例について説明する図である。さらに、図13(C)は、マスタ装置2cから取得したリソース情報231(以下、リソース情報231cとも呼ぶ)の具体例について説明する図である。
図13に示す各リソース情報231は、各サーバ装置3を識別する「サーバID」と、CPUの空きリソース量が設定される「CPU空きリソース」と、メモリの空きリソース量が設定される「メモリ空きリソース」とを項目として有する。
具体的に、図13(A)に示すリソース情報231aにおける1行目の情報には、「サーバID」として「SV1」が設定され、「CPU空きリソース」として「10(コア)」が設定され、「メモリ空きリソース」として「1.6(GB)」が設定されている。
また、図13(A)に示すリソース情報231aにおける2行目の情報には、「サーバID」として「SV2」が設定され、「CPU空きリソース」として「2(コア)」が設定され、「メモリ空きリソース」として「1.0(GB)」が設定されている。
また、図13(B)に示すリソース情報231bにおける1行目の情報には、「サーバID」として「SV3」が設定され、「CPU空きリソース」として「5(コア)」が設定され、「メモリ空きリソース」として「2.2(GB)」が設定されている。
また、図13(B)に示すリソース情報231bにおける2行目の情報には、「サーバID」として「SV4」が設定され、「CPU空きリソース」として「3(コア)」が設定され、「メモリ空きリソース」として「0.8(GB)」が設定されている。
さらに、図13(C)に示すリソース情報231cにおける1行目の情報には、「サーバID」として「SV5」が設定され、「CPU空きリソース」として「12(コア)」が設定され、「メモリ空きリソース」として「1.8(GB)」が設定されている。
なお、以下、サーバIDが「SV1」、「SV2」、「SV3」、「SV4」及び「SV5」であるサーバ装置3のそれぞれが、図1等で説明したサーバ装置3a、サーバ装置3b、サーバ装置3c、サーバ装置3d及びサーバ装置3eのそれぞれに対応するものとして説明を行う。
ここで、図11で説明した配備要求DRには、使用CPUが2(コア)であって使用メモリ量が10(MB)であるコンテナ(以下、コンテナAとも呼ぶ)と、使用CPUが3(コア)であって使用メモリ量が100(MB)であるコンテナ(以下、コンテナBとも呼ぶ)との配備を要求する旨の情報が含まれている。
そのため、S21の処理において、例えば、図11で説明した配備要求DRに対応するリソース条件を受信した場合、マスタ装置2aの条件判定部212は、例えば、コンテナAを配備可能な特定のサーバ装置3としてサーバ装置3aを特定し、さらに、コンテナBを配備可能な特定のサーバ装置3としてサーバ装置3bを特定する。
なお、マスタ装置2aの条件判定部212は、この場合、例えば、コンテナA及びコンテナBの両方を配備可能な特定のサーバ装置3としてサーバ装置3aを特定するものであってもよい。
一方、コンテナAの使用CPUとコンテナBの使用CPUとの合計(5(コア))は、サーバ装置3bのCPU空きリソースである2(コア)よりも多い。そのため、マスタ装置2aの条件判定部212は、この場合、コンテナA及びコンテナBの両方を配備可能な特定のサーバ装置3としてサーバ装置3bの特定を行わない。
図9に戻り、マスタ装置2の結果送信部214は、S22の処理で行った判定の結果をグローバルマスタ装置1に送信する(S23)。
[グローバルマスタ装置における処理(2)]
次に、グローバルマスタ装置1における処理の他の一部について説明を行う。
グローバルマスタ装置1の結果受信部113は、図8に示すように、例えば、S12の処理を行ってから所定時間が経過するまで待機する(S13のNO)。
すなわち、マスタ装置2から送信される判定の結果は、ネットワークの混雑状況等によって大幅に遅延して送信される可能性がある。そのため、グローバルマスタ装置1は、例えば、リソース条件を各マスタ装置2に送信してから所定時間が経過する前にマスタ装置2から受信した判定の結果のみに基づいて、配備対象のコンテナ4を配備するクラスタCLの決定を行うものであってもよい。
これにより、グローバルマスタ装置1は、全てのマスタ装置からの判定結果の受信を待つことなく配備先のクラスタCLを決定することが可能になり、配備対象のコンテナ4の配備先の決定を迅速に行うことが可能になる。
なお、S12の処理でリソース条件を送信してから各マスタ装置2が送信した判定の結果を受信するまでの時間は、例えば、100(秒)程度である。
そして、S12の処理を行ってから所定時間が経過した場合(S13のYES)、グローバルマスタ装置1の配備先決定部114は、マスタ装置2から受信した判定の結果(S12の処理を行ってから所定時間が経過する前に受信した判定の結果)に基づいて、S11の処理で受け付けた配備要求に対応する配備対象のコンテナ4を配備するクラスタCLを決定する(S14)。
具体的に、配備先決定部114は、S12の処理で送信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在することを示す結果を送信したマスタ装置2を特定する。そして、配備先決定部114は、例えば、特定したマスタ装置2が配備されているクラスタCLを、S11の処理で受け付けた配備要求に対応する配備対象のコンテナ4を配備するクラスタCLとして決定する。
なお、配備先決定部114は、例えば、S12の処理で送信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在することを示す結果を最初に送信したマスタ装置2を特定し、特定したマスタ装置2が配備されているクラスタCLを、S11の処理で受け付けた配備要求に対応する配備対象のコンテナ4を配備するクラスタCLとして決定するものであってもよい。
その後、グローバルマスタ装置1の指示送信部115は、S14の処理で決定したクラスタCLに対して、S11の処理で受け付けた配備要求に対応する配備対象のコンテナ4の配備指示を送信する(S15)。
[マスタ装置における処理(2)]
次に、マスタ装置2における処理の他の一部について説明を行う。
マスタ装置2の指示受信部215は、図10に示すように、グローバルマスタ装置1から送信されたコンテナ4の配備指示を受信するまで待機する(S24のNO)。
そして、コンテナ4の配備指示を受信した場合(S24のYES)、マスタ装置2のコンテナ配備部216は、自装置が配備されているクラスタCL内のサーバ装置3のいずれかに、S24の処理で受信した配備指示に対応するコンテナ4を配備する(S25)。
具体的に、コンテナ配備部216は、例えば、S22の処理で存在すると判定したサーバ装置3ごとに、各サーバ装置3の1以上の優先度を算出する。1以上の優先度は、例えば、CPU及びメモリの空きリソース量が高いほど高い値を取る優先度(以下、優先度Aとも呼ぶ)と、CPU及びメモリの使用量(利用率)のバランスが良いほど高い値を取る優先度(以下、優先度Bとも呼ぶ)とを含むものであってよい。そして、コンテナ配備部216は、例えば、情報格納領域130に記憶された重み情報232を参照し、各優先度と各優先度に対応する重み係数との積の総和を算出する。その後、コンテナ配備部216は、例えば、算出した総和が最も大きいサーバ装置3において、S24の処理で受信した配備指示に対応するコンテナ4を配備する。以下、重み情報232の具体例について説明を行う。
[重み情報の具体例]
図14は、重み情報232の具体例について説明する図である。
図14に示す重み情報232は、各優先度を識別する「優先度」と、各優先度に対応する重み係数が設定される「重み」とを項目として有する。
具体的に、図14に示す重み情報232における1行目の情報には、「優先度」として「優先度A」が設定され、「重み」として「0.7」が設定されている。
また、図14に示す重み情報232における2行目の情報には、「優先度」として「優先度B」が設定され、「重み」として「0.3」が設定されている。
なお、重み情報232における「重み」に設定される値は、例えば、管理者によって予め設定される値であってよい。
このように、本実施の形態におけるグローバルマスタ装置1は、配備要求に対応するコンテナ4の配備に要するリソース条件をマスタ装置2のそれぞれに送信する。
そして、マスタ装置2のそれぞれは、各マスタ装置2が配備されているクラスタCL内のリソースが、グローバルマスタ装置1から受信したリソース条件を満たすか否かの判定を行う。さらに、マスタ装置2のそれぞれは、その判定の結果をグローバルマスタ装置1に送信する。
その後、グローバルマスタ装置1は、マスタ装置2のそれぞれから受信した判定の結果に基づいて、配備対象のコンテナ4の配備先のクラスタCLを決定する。
すなわち、グローバルマスタ装置1は、配備対象のコンテナ4の配備を行う前に、各クラスタCLにおけるリソース状態に対応する情報である判定の結果を各マスタ装置2から取得する。
これにより、グローバルマスタ装置1は、配備時点における各クラスタCLのリソース状態に応じて、配備対象のコンテナ4を配備可能なクラスタCLを決定することが可能になる。そのため、グローバルマスタ装置1は、各クラスタCLのリソース状態に応じて決定したクラスタCLにおいて配備対象のコンテナ4の配備を行うことで、他のクラスタCLにおける配備をやり直しの発生を防止することが可能になる。従って、グローバルマスタ装置1は、配備対象のコンテナ4の配備を効率的に行うことが可能になる。
[第2の実施の形態の概略]
次に、第2の実施の形態の概略について説明する。図15は、第2の実施の形態における配備先クラスタ決定処理の概略を説明するシーケンスチャート図である。
グローバルマスタ装置1は、図15に示すように、例えば、管理者端末(図示しない)から配備対象のコンテナ4の配備要求を受け付けた場合(S31)、配備対象のコンテナ4の配備に要するリソース条件をマスタ装置2(マスタ装置2a、マスタ装置2b及びマスタ装置2c)のそれぞれに送信する(S32)。
そして、マスタ装置2のそれぞれは、グローバルマスタ装置1からのリソース条件の受信に応じて、自装置が配備されているクラスタCL内のリソースが、グローバルマスタ装置1から受信したリソース条件を満たすか否かの判定を行う(S33)。また、マスタ装置2のそれぞれは、自装置が配備されているクラスタCL内の各サーバ装置3におけるリソースの利用率に基づいて、自装置が配備されているクラスタCLのリソースの使用状態を示すスコアを算出する(S34)。さらに、マスタ装置2のそれぞれは、S33の処理における判定の結果と、S34の処理で算出したスコアとをグローバルマスタ装置1に送信する(S35)。
その後、グローバルマスタ装置1は、マスタ装置2のそれぞれから受信した判定の結果とスコアとに基づいて、配備対象のコンテナ4を配備するクラスタCLを決定する(S36)。
すなわち、第2の実施の形態におけるマスタ装置2のそれぞれは、自装置が配備されているクラスタCL内のリソースがリソース条件を満たすか否かの判定に加え、自装置が配備されているクラスタCLのリソースの使用状態を示すスコアの算出を行う。そして、第2の実施の形態におけるグローバルマスタ装置1は、各マスタ装置2から送信された判定の結果に加え、各マスタ装置2から送信されたスコアを参照することによって、配備対象のコンテナ4を配備するクラスタCLの決定を行う。
これにより、グローバルマスタ装置1は、配備対象のコンテナ4をより適切なクラスタCLに配備することが可能になる。
[第2の実施の形態の詳細]
次に、第2の実施の形態の詳細について説明する。図16から図18は、第2の実施の形態における配備先クラスタ決定処理の詳細を説明するフローチャート図である。
[グローバルマスタ装置における処理(1)]
初めに、グローバルマスタ装置1における処理の一部について説明を行う。図16は、グローバルマスタ装置1における処理の説明するフローチャート図である。
グローバルマスタ装置1の要求受付部111は、例えば、管理者端末(図示しない)から送信された配備要求を受信するまで待機する(S41のNO)。
そして、管理者端末から送信された配備要求を受信した場合(S41のYES)、グローバルマスタ装置1の条件送信部112は、S41の処理で受け付けた配備要求に対応する配備対象のコンテナ4の配備に要するリソース量を含むリソース条件をマスタ装置2のそれぞれに送信する(S42)。
[マスタ装置における処理(1)]
次に、マスタ装置2における処理の一部について説明を行う。図17及び図18は、マスタ装置2における処理の説明するフローチャート図である。
マスタ装置2の条件受信部211は、図17に示すように、グローバルマスタ装置1からリソース条件を受信するまで待機する(S51のNO)。
そして、リソース条件を受信した場合(S51のYES)、マスタ装置2の条件判定部212は、自装置が配備されているクラスタCL内のサーバ装置3に、S51の処理で受信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在するか否かの判定を行う(S52)。
また、マスタ装置2のスコア算出部213は、この場合、自装置が配備されているクラスタCL内の各サーバ装置3におけるリソースの利用率に基づいて、自装置が配備されているクラスタCLのリソースの使用状態を示すスコアを算出する(S53)。
具体的に、スコア算出部213は、例えば、自装置が配備されているクラスタCL内の各サーバ装置3のリソースの平均値と分散値とのうちの少なくとも1つを用いることによって、スコアの算出を行う。
さらに具体的に、スコア算出部213は、例えば、以下の式(1)を用いることによって、スコアの算出を行う。
スコア=1/(A×各サーバ装置3におけるCPUの利用率の平均値+B×各サーバ装置3におけるCPUの利用率の分散値)+1/(C×各サーバ装置3におけるメモリの利用率の平均値+D×各サーバ装置3におけるメモリの利用率の分散値)+1/(E×各サーバ装置3における記憶媒体の利用率の平均値+F×各サーバ装置3における記憶媒体の利用率の分散値) ・・・(式1)
なお、式(1)におけるA、B、C、D、E及びFのそれぞれは、例えば、管理者によって予め定められた重み係数である。また、スコア算出部213は、第1項、第2項及び第3項のうちの1つのみをスコアとしてもよく、第1項、第2項及び第3項のうちのいずれか2つの和をスコアとしてもよい。また、式(1)においては、各指標の平均値と分散値との双方を用いる例を示しているが、各指標の平均値と分散値とのうちのいずれか一方のみを用いるようにしてもよい。
すなわち、スコア算出部213は、S53の処理において、自装置が配備されているクラスタCL内の各サーバ装置3のリソースの平均値が小さいクラスタCLのスコアが大きくなるように、スコアの算出を行うものであってよい。また、スコア算出部213は、S53の処理において、自装置が配備されているクラスタCL内の各サーバ装置3のリソースの分散値が小さいクラスタCLのスコアが大きくなるように、スコアの算出を行うものであってよい。
図17に戻り、マスタ装置2の結果送信部214は、S52の処理で行った判定の結果と、S53の処理で算出したスコアとをグローバルマスタ装置1に送信する(S54)。
[グローバルマスタ装置における処理(2)]
次に、グローバルマスタ装置1における処理の他の一部について説明を行う。
グローバルマスタ装置1の結果受信部113は、図16に示すように、S42の処理でリソース条件を送信した全てのマスタ装置2から判定の結果とスコアとを受信するまで待機する(S43のNO)。
そして、全てのマスタ装置2から判定の結果とスコアとを受信した場合(S43のYES)、グローバルマスタ装置1の配備先決定部114は、S43の処理で受信した判定の結果とスコアとに基づいて、S41の処理で受け付けた配備要求に対応する配備対象のコンテナ4を配備するクラスタCLを決定する(S44)。
具体的に、配備先決定部114は、S42の処理で送信したリソース条件に含まれるリソース量以上の空きリソース量を有する特定のサーバ装置3が存在することを示す結果を送信したマスタ装置2を特定する。そして、配備先決定部114は、例えば、特定したマスタ装置2が配備されているクラスタCLのうち、スコアが最も高いクラスタCLを、S41の処理で受け付けた配備要求に対応する配備対象のコンテナ4を配備するクラスタCLとして決定する。
その後、グローバルマスタ装置1の指示送信部115は、S44の処理で決定したクラスタCLに対して、S41の処理で受け付けた配備要求に対応する配備対象のコンテナ4の配備指示を送信する(S45)。
[マスタ装置における処理(2)]
次に、マスタ装置2における処理の他の一部について説明を行う。
マスタ装置2の指示受信部215は、図18に示すように、グローバルマスタ装置1から送信された配備指示を受信するまで待機する(S55のNO)。
そして、配備指示を受信した場合(S55のYES)、マスタ装置2のコンテナ配備部216は、自装置が配備されているクラスタCL内のサーバ装置3のいずれかに、S55の処理で受信した配備指示に対応するコンテナ4を配備する(S56)。
すなわち、第2の実施の形態におけるマスタ装置2のそれぞれは、自装置が配備されているクラスタCL内のリソースがリソース条件を満たすか否かの判定に加え、自装置が配備されているクラスタCLのリソースの使用状態を示すスコアの算出を行う。そして、第2の実施の形態におけるグローバルマスタ装置1は、各マスタ装置2から送信された判定の結果に加え、各マスタ装置2から送信されたスコアを参照することによって、配備対象のコンテナ4を配備するクラスタCLの決定を行う。
これにより、グローバルマスタ装置1は、配備対象のコンテナ4をより適切なクラスタCLに配備することが可能になる。具体的に、グローバルマスタ装置1は、各指標の平均値が考慮されたスコアを用いることで、サーバ装置3におけるリソース利用率が低いクラスタCLにおいてコンテナ4の配備が優先的に行われるように制御することが可能になる。また、グローバルマスタ装置1は、各指標の分散値が考慮されたスコアを用いることで、サーバ装置3におけるリソース利用率のばらつきが小さいクラスタCLにおいてコンテナ4の配備が優先的に行われるように制御することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
各クラスタ内においてマスタ装置を有するとともに前記マスタ装置と通信可能なグローバルマスタ装置を有する情報処理システムにおけるコンテナ配備先クラスタ決定方法であって、
前記グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件を前記マスタ装置のそれぞれに送信し、
前記マスタ装置のそれぞれは、
前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信した前記リソース条件を満たすか否かの判定を行い、
前記判定の結果を前記グローバルマスタ装置に送信し、
前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記2)
付記1において、
前記マスタ装置のそれぞれは、前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが前記リソース条件を満たすと判定した場合に、前記判定の結果を前記グローバルマスタ装置に送信する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記3)
付記1において、
グローバルマスタ装置は、前記配備対象コンテナの配備に要するリソース量を前記リソース条件として前記マスタ装置のそれぞれに送信し、
前記マスタ装置のそれぞれは、
前記マスタ装置のそれぞれが配備されているクラスタ内のノードに、前記リソース量以上の空きリソース量を有する特定のノードが存在するか否かの判定を行い、
前記特定のノードが存在するか否かを示す情報を前記結果として前記グローバルマスタ装置に送信する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記4)
付記1において、
グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記5)
付記1において、
前記グローバルマスタ装置は、前記配備先とするクラスタに対して、前記配備対象コンテナの配備指示を送信し、
前記配備指示を受信した前記マスタ装置は、前記配備対象コンテナの配備を行う、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記6)
付記1において、
前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置であって、前記リソース条件を送信してから所定時間が経過する前に受信した前記結果の送信元である前記マスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記7)
付記1において、
前記マスタ装置のそれぞれは、
前記マスタ装置のそれぞれが配備されているクラスタ内の各ノードにおけるリソースの利用率に基づいて、前記マスタ装置が配備されているクラスタのリソースの使用状態を示すスコアを算出し、
算出した前記スコアを前記グローバルマスタ装置に送信し、
前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果と前記スコアとに基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記8)
付記7において、
前記マスタ装置のそれぞれは、クラスタ内の各ノードのリソースの平均値と分散値とのうちの少なくとも1つを用いることによって、前記スコアを算出する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記9)
付記7において、
前記マスタ装置のそれぞれは、クラスタ内の各ノードにおけるリソースの利用率の平均値が小さいほど前記スコアが大きくなるように、前記スコアの算出を行う、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記10)
付記7において、
前記マスタ装置のそれぞれは、クラスタ内の各ノードにおけるリソースの利用率の分散値が小さいほど前記スコアが大きくなるように、前記スコアの算出を行う、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記11)
付記7において、
前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置のうち、前記スコアが最も高いマスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記12)
付記11において、
前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置であって、前記リソース条件を送信してから所定時間が経過する前に受信した前記結果の送信元である前記マスタ装置のうち、前記スコアが最も高いマスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記13)
各クラスタ内においてマスタ装置を有するとともに前記マスタ装置と通信可能なグローバルマスタ装置を有するコンテナ配備先クラスタ決定システムであって、
前記グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件を前記マスタ装置のそれぞれに送信し、
前記マスタ装置のそれぞれは、
前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信した前記リソース条件を満たすか否かの判定を行い、
前記判定の結果を前記グローバルマスタ装置に送信し、
前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
ことを特徴とするコンテナ配備先クラスタ決定システム。
(付記14)
付記13において、
グローバルマスタ装置は、前記配備対象コンテナの配備に要するリソース量を前記リソース条件として前記マスタ装置のそれぞれに送信し、
前記マスタ装置のそれぞれは、
前記マスタ装置のそれぞれが配備されているクラスタ内のノードに、前記リソース量以上の空きリソース量を有する特定のノードが存在するか否かの判定を行い、
前記特定のノードが存在するか否かを示す情報を前記結果として前記グローバルマスタ装置に送信する、
ことを特徴とするコンテナ配備先クラスタ決定システム。
(付記15)
配備対象コンテナの配備に要するリソース条件を、各クラスタ内のマスタ装置のそれぞれに送信し、
前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のリソースが前記リソース条件を満たすか否かについての判定の結果を受信し、
前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
処理をコンピュータに実行させることを特徴とするコンテナ配備先クラスタ決定方法。
(付記16)
付記15において、
前記送信する処理では、前記配備対象コンテナの配備に要するリソース量を前記リソース条件として前記マスタ装置のそれぞれに送信し、
前記受信する処理では、前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のノードに、前記リソース量以上の空きリソース量を有する特定のノードが存在するか否かについての判定の結果を受信する、
ことを特徴とするコンテナ配備先クラスタ決定方法。
(付記17)
配備対象コンテナの配備に要するリソース条件を、各クラスタ内のマスタ装置のそれぞれに送信する条件送信部と、
前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のリソースが前記リソース条件を満たすか否かについての判定の結果を受信する結果受信部と、
前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する配備先決定部と、を有する、
ことを特徴とするコンテナ配備先クラスタ決定装置。
(付記18)
付記17において、
前記条件送信部は、前記配備対象コンテナの配備に要するリソース量を前記リソース条件として前記マスタ装置のそれぞれに送信し、
前記結果受信部は、前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のノードに、前記リソース量以上の空きリソース量を有する特定のノードが存在するか否かについての判定の結果を受信する、
ことを特徴とするコンテナ配備先クラスタ決定装置。
1:グローバルマスタ装置 2a:マスタ装置
2b:マスタ装置 2c:マスタ装置
3a:サーバ装置 3b:サーバ装置
3c:サーバ装置 3d:サーバ装置
3e:サーバ装置 4a:コンテナ
4b:コンテナ 4c:コンテナ
4d:コンテナ 4e:コンテナ
4f:コンテナ 10:情報処理システム
CL1:クラスタ CL2:クラスタ
CL3:クラスタ

Claims (13)

  1. 各クラスタ内においてマスタ装置を有するとともに前記マスタ装置と通信可能なグローバルマスタ装置を有する情報処理システムにおけるコンテナ配備先クラスタ決定方法であって、
    前記グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件を前記マスタ装置のそれぞれに送信し、
    前記マスタ装置のそれぞれは、
    前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信した前記リソース条件を満たすか否かの判定を行い、
    前記判定の結果を前記グローバルマスタ装置に送信し、
    前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  2. 請求項1において、
    前記マスタ装置のそれぞれは、前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが前記リソース条件を満たすと判定した場合に、前記判定の結果を前記グローバルマスタ装置に送信する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  3. 請求項1において、
    グローバルマスタ装置は、前記配備対象コンテナの配備に要するリソース量を前記リソース条件として前記マスタ装置のそれぞれに送信し、
    前記マスタ装置のそれぞれは、
    前記マスタ装置のそれぞれが配備されているクラスタ内のノードに、前記リソース量以上の空きリソース量を有する特定のノードが存在するか否かの判定を行い、
    前記特定のノードが存在するか否かを示す情報を前記結果として前記グローバルマスタ装置に送信する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  4. 請求項1において、
    グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  5. 請求項1において、
    前記グローバルマスタ装置は、前記配備先とするクラスタに対して、前記配備対象コンテナの配備指示を送信し、
    前記配備指示を受信した前記マスタ装置は、前記配備対象コンテナの配備を行う、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  6. 請求項1において、
    前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置であって、前記リソース条件を送信してから所定時間が経過する前に受信した前記結果の送信元である前記マスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  7. 請求項1において、
    前記マスタ装置のそれぞれは、
    前記マスタ装置のそれぞれが配備されているクラスタ内の各ノードにおけるリソースの利用率に基づいて、前記マスタ装置が配備されているクラスタのリソースの使用状態を示すスコアを算出し、
    算出した前記スコアを前記グローバルマスタ装置に送信し、
    前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果と前記スコアとに基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  8. 請求項7において、
    前記マスタ装置のそれぞれは、クラスタ内の各ノードのリソースの平均値と分散値とのうちの少なくとも1つを用いることによって、前記スコアを算出する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  9. 請求項7において、
    前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置のうち、前記スコアが最も高いマスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  10. 請求項9において、
    前記グローバルマスタ装置は、クラスタ内のリソースが前記リソース条件を満たすことを示す前記結果を送信した前記マスタ装置であって、前記リソース条件を送信してから所定時間が経過する前に受信した前記結果の送信元である前記マスタ装置のうち、前記スコアが最も高いマスタ装置が配備されているクラスタを、前記配備先とするクラスタとして決定する、
    ことを特徴とするコンテナ配備先クラスタ決定方法。
  11. 各クラスタ内においてマスタ装置を有するとともに前記マスタ装置と通信可能なグローバルマスタ装置を有するコンテナ配備先クラスタ決定システムであって、
    前記グローバルマスタ装置は、配備対象コンテナの配備に要するリソース条件を前記マスタ装置のそれぞれに送信し、
    前記マスタ装置のそれぞれは、
    前記マスタ装置のそれぞれが配備されているクラスタ内のリソースが、受信した前記リソース条件を満たすか否かの判定を行い、
    前記判定の結果を前記グローバルマスタ装置に送信し、
    前記グローバルマスタ装置は、前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
    ことを特徴とするコンテナ配備先クラスタ決定システム。
  12. 配備対象コンテナの配備に要するリソース条件を、各クラスタ内のマスタ装置のそれぞれに送信し、
    前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のリソースが前記リソース条件を満たすか否かについての判定の結果を受信し、
    前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する、
    処理をコンピュータに実行させることを特徴とするコンテナ配備先クラスタ決定方法。
  13. 配備対象コンテナの配備に要するリソース条件を、各クラスタ内のマスタ装置のそれぞれに送信する条件送信部と、
    前記マスタ装置のそれぞれから、各マスタ装置が配備されているクラスタ内のリソースが前記リソース条件を満たすか否かについての判定の結果を受信する結果受信部と、
    前記マスタ装置のそれぞれから受信した前記結果に基づいて、前記配備対象コンテナの配備先とするクラスタを決定する配備先決定部と、を有する、
    ことを特徴とするコンテナ配備先クラスタ決定装置。
JP2020120377A 2020-07-14 2020-07-14 コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム Withdrawn JP2022017686A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020120377A JP2022017686A (ja) 2020-07-14 2020-07-14 コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム
EP21169839.4A EP3940537A1 (en) 2020-07-14 2021-04-22 Container deployment control method, global master device, and master device
US17/244,853 US20220019477A1 (en) 2020-07-14 2021-04-29 Container deployment control method, global master device, and master device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020120377A JP2022017686A (ja) 2020-07-14 2020-07-14 コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム

Publications (1)

Publication Number Publication Date
JP2022017686A true JP2022017686A (ja) 2022-01-26

Family

ID=75639771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020120377A Withdrawn JP2022017686A (ja) 2020-07-14 2020-07-14 コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム

Country Status (3)

Country Link
US (1) US20220019477A1 (ja)
EP (1) EP3940537A1 (ja)
JP (1) JP2022017686A (ja)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814491B1 (en) * 2004-04-14 2010-10-12 Oracle America, Inc. Method and apparatus for managing system resources using a container model
JP6287321B2 (ja) 2014-02-24 2018-03-07 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US20170085419A1 (en) * 2015-09-18 2017-03-23 Le Holdings (Beijing) Co., Ltd. System and method for deploying an application
US10305747B2 (en) * 2016-06-23 2019-05-28 Sap Se Container-based multi-tenant computing infrastructure
JP6819131B2 (ja) 2016-08-18 2021-01-27 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
US10341438B2 (en) * 2017-03-17 2019-07-02 Verizon Patent ad Licensing Inc. Deploying and managing containers to provide a highly available distributed file system
WO2018174897A1 (en) * 2017-03-24 2018-09-27 Nokia Technologies Oy Methods and apparatuses for multi-tiered virtualized network function scaling
US10469629B2 (en) * 2017-06-23 2019-11-05 Cisco Technology, Inc. Container networking for connecting network controller applications to a switch fabric
JP6962180B2 (ja) * 2017-12-27 2021-11-05 富士通株式会社 情報処理システム、コンテナ管理装置及びコンテナ管理方法
US10613961B2 (en) * 2018-02-05 2020-04-07 Red Hat, Inc. Baselining for compute resource allocation
JP7004902B2 (ja) * 2018-02-05 2022-01-21 富士通株式会社 性能評価プログラム、および性能評価方法
JP7011162B2 (ja) * 2018-02-05 2022-01-26 富士通株式会社 性能調整プログラム、および性能調整方法
US10789087B2 (en) * 2018-05-31 2020-09-29 Hewlett Packard Enterprise Development Lp Insight usage across computing nodes running containerized analytics
US11126461B2 (en) * 2018-07-12 2021-09-21 Vmware, Inc. Techniques for container scheduling in a virtual environment
US11579908B2 (en) * 2018-12-18 2023-02-14 Vmware, Inc. Containerized workload scheduling
US11029993B2 (en) * 2019-04-04 2021-06-08 Nutanix, Inc. System and method for a distributed key-value store

Also Published As

Publication number Publication date
US20220019477A1 (en) 2022-01-20
EP3940537A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
JP6113849B2 (ja) クラウド内に地理的分散型のアプリケーションを自動的に配備する方法および装置
EP2335162B1 (en) Dynamic distribution of virtual machines in a communication network
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
CN105531970B (zh) 用于在网络中部署工作负荷的方法和系统
JP5998206B2 (ja) クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
US10129101B2 (en) Application driven and adaptive unified resource management for data centers with Multi-Resource Schedulable Unit (MRSU)
CN105426245A (zh) 包括分散的部件的动态地组成的计算节点
CN109167702A (zh) 一种基于负载均衡的分布式测试方法及装置
CN113014611B (zh) 一种负载均衡方法及相关设备
CN104601680A (zh) 一种资源管理方法及装置
EP2161660A2 (en) Information processing device having load sharing function
US20180349236A1 (en) Method for transmitting request message and apparatus
CN113709220B (zh) 虚拟负载均衡器的高可用实现方法、系统及电子设备
Bourhim et al. Inter-container communication aware container placement in fog computing
US9391916B2 (en) Resource management system, resource management method, and computer product
JP6565429B2 (ja) 仮想マシン共有を用いるデータセンタネットワークにおけるリスク軽減
JP2022017686A (ja) コンテナ配備先クラスタ決定方法、コンテナ配備先クラスタ決定装置及びコンテナ配備先クラスタ決定システム
JP6063882B2 (ja) 仮想マシン配置システム及び方法
JP2017037522A (ja) 仮想化基盤選択装置及び方法、並びに、プログラム
CN112398668B (zh) 一种基于IaaS集群的云平台和节点的切换方法
JP2019041241A (ja) 振り分けシステム
Liu et al. Towards deadline guaranteed cloud storage services
KR102025425B1 (ko) 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법
JP2017058734A (ja) 仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム
CN118118447A (zh) 分布式交换机部署方法及服务器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230407

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20240126