JP2021196808A - コンテナ管理装置、コンテナ管理方法及びプログラム - Google Patents
コンテナ管理装置、コンテナ管理方法及びプログラム Download PDFInfo
- Publication number
- JP2021196808A JP2021196808A JP2020102249A JP2020102249A JP2021196808A JP 2021196808 A JP2021196808 A JP 2021196808A JP 2020102249 A JP2020102249 A JP 2020102249A JP 2020102249 A JP2020102249 A JP 2020102249A JP 2021196808 A JP2021196808 A JP 2021196808A
- Authority
- JP
- Japan
- Prior art keywords
- cloud
- container
- performance
- container cluster
- value
- 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.)
- Pending
Links
Images
Abstract
【課題】仮想マシンを増設する処理と、クライアント端末からの処理要求を振り分ける処理を同時に行う場合であっても、仮想マシンが起動するまでの時間を短縮することができ、処理要求の処理を開始するまでの時間を短くすることができるコンテナ管理装置、コンテナ管理方法及びプログラムを提供する。【解決手段】コンテナ管理装置は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する管理部を備える。【選択図】図1
Description
本発明は、コンテナ管理装置、コンテナ管理方法及びプログラムに関する。
特許文献1は、第1システムを構成する複数の仮想マシンの負荷が、所定値よりも大きいとともに、第2システムを構成する仮想マシンの負荷が、所定値よりも大きい場合に、第2システムに、新たな仮想マシンを追加することにより負荷を分散させる技術について開示している。
また、特許文献2は、自社クラウドのCPU利用率の測定値及びメモリ利用率の測定値が閾値を超えているか、及び、他社のクラウドの遅延測定値が遅延閾値を超えているか否かに基づいて、自社のクラウドと他社のクラウドのいずれかに仮想マシンを増設することにより、負荷を分散させる技術について開示している。
特許文献1や特許文献2で開示されている技術では、仮想マシンを増設する処理と、クライアント端末からの処理要求を振り分ける処理を同時に行おうとした場合に、仮想マシンが起動するまでに時間がかかり、処理要求の処理を開始するまでに、長時間待たなければならなかった。
そこで、この発明は、上述の課題を解決するコンテナ管理装置、コンテナ管理方法及びプログラムを提供することを目的としている。
本発明のいくつかの態様は、上述の課題を解決すべくなされたもので、本発明の第1態様は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する管理部を備えるコンテナ管理装置である。
また、本発明の第2態様は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更するコンテナ管理方法である。
また、本発明の第3態様は、コンテナ管理装置のコンピュータを、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する管理手段として機能させるプログラムである。
本発明のいくつかの態様によれば、仮想マシンを増設する処理と、クライアント端末からの処理要求を振り分ける処理を同時に行う場合であっても、仮想マシンが起動するまでの時間を短縮することができ、処理要求の処理を開始するまでの時間を短くすることができる。
以下に説明する本発明の各実施形態では、パブリッククラウドとプライベートクラウドを併用するハイブリッドクラウド環境において、パブリッククラウドとプライベートクラウドの両方で同じコンテナクラスタが構成される場合について説明する。ここで、同じコンテナクラスタとは、パブリッククラウドのコンテナクラスタで動作するコンテナが、プライベートクラウドのコンテナクラスタでも動作する状態、また、プライベートクラウドのコンテナクラスタで動作するコンテナが、パブリッククラウドのコンテナクラスタでも動作する状態をいう。
また、本発明の各実施形態では、プライベートクラウドのコンテナクラスタと、パブリッククラウドのコンテナクラスタの両方で、コンテナのCPU(Central Processing Unit)使用率が指定した値を超えた場合にコンテナ数を増加するようにオートスケールの機能が設定されている場合について説明する。また、パブリッククラウドのコンテナクラスタは処理量によって課金されるものとし、プライベートクラウドのコンテナクラスタのリソースを優先的に活用することで、パブリッククラウドのコンテナクラスタでの処理量をできるだけ抑えようとするハイブリッドクラウドのシステムについて説明する。
また、本発明の各実施形態では、プライベートクラウドのコンテナクラスタと、パブリッククラウドのコンテナクラスタの両方で、コンテナのCPU使用率、コンテナクラスタを構成するノードのCPU使用率の情報を収集する。そして、コンテナ配置ルール情報として、予め設定した閾値をもとに、プライベートクラウドのコンテナクラスタと、パブリッククラウドのコンテナクラスタの最適な方で、例えば、なるべくプライベートクラウドのリソースを有効活用するように、コンテナを起動もしくは停止する。また、コンテナの起動や停止と同時に、ロードバランサのリクエスト振り分けルール情報を変更し、コンテナの構成変更と同時に適切に処理量が分散されるようにする。
これにより、ハイブリッドクラウド環境で、プライベートクラウドのコンテナクラスタとパブリッククラウドのコンテナクラスタで、それぞれがコンテナオーケストレーションの機能によって処理量を増減させるよりも、ハイブリッドクラウド全体として適切な処理量の分散と増減をさせることができ、なるべくプライベートクラウドのリソースを活用することができる。
[第1実施形態]
以下、本発明の第1実施形態について説明する。
以下、本発明の第1実施形態について説明する。
図1は、本発明の第1実施形態によるコンテナ管理システム500aの概略構成図である。コンテナ管理システム500aは、プライベートクラウド(第2クラウドとも称する)のコンテナクラスタ101(コンテナ管理装置とも称する)と、パブリッククラウドのコンテナクラスタ201(第1クラウドとも称する)と、ロードバランサ301を備える。
プライベートクラウドのコンテナクラスタ101は、コンテナクラスタ情報収集部102と、全コンテナクラスタ情報収集部103と、コンテナ配置管理部120(管理部とも称する)と、コンテナ107と、連携コンテナクラスタ情報記憶部111と、コンテナ配置ルール情報記憶部112と、全コンテナクラスタ情報記憶部121とを備える。
コンテナ配置管理部120は、コンテナ配置調整部104と、コンテナ配置制御部106とを備える。
プライベートクラウドのコンテナクラスタ101は、コンテナクラスタ情報収集部102と、全コンテナクラスタ情報収集部103と、コンテナ配置管理部120(管理部とも称する)と、コンテナ107と、連携コンテナクラスタ情報記憶部111と、コンテナ配置ルール情報記憶部112と、全コンテナクラスタ情報記憶部121とを備える。
コンテナ配置管理部120は、コンテナ配置調整部104と、コンテナ配置制御部106とを備える。
コンテナクラスタ情報収集部102は、プライベートクラウドのコンテナクラスタ101や、プライベートクラウドのコンテナクラスタ101で動作するコンテナ107のCPU使用率の情報を定期的に収集する。
図2は、本発明の第1実施形態による連携コンテナクラスタ情報記憶部111(図1)が記憶する連携コンテナクラスタ情報D111の一例を示す図である。
連携コンテナクラスタ情報D111では、「連携するコンテナクラスタ」と、その「接続先」が対応付けられて記憶される。
連携コンテナクラスタ情報D111では、「連携するコンテナクラスタ」と、その「接続先」が対応付けられて記憶される。
連携コンテナクラスタ情報D111では、ハイブリッドクラウド環境を構成するプライベートクラウドのコンテナクラスタ101、パブリッククラウドのコンテナクラスタ201の情報が利用者によって予め設定される。
全コンテナクラスタ情報収集部103は、定期的に連携コンテナクラスタ情報D111を参照し、情報を収集する対象のコンテナクラスタを特定し、その対象のコンテナクラスタである、プライベートクラウドのコンテナクラスタ101のコンテナクラスタ情報収集部102と、パブリッククラウドのコンテナクラスタ201のコンテナクラスタ情報収集部202と、から情報を定期的に収集する。全コンテナクラスタ情報収集部103は、収集した情報を、全コンテナクラスタ情報D121(図示省略)として、全コンテナクラスタ情報記憶部121に格納する。
図3は、本発明の第1実施形態によるコンテナ配置ルール情報記憶部112(図1)が記憶するコンテナ配置ルール情報D112の一例を示す図である。
コンテナ配置ルール情報D112では、プライベートクラウドのコンテナクラスタ101と、パブリッククラウドのコンテナクラスタ201で収集した情報に対して、各情報の閾値と、閾値を超過した場合にとる動作が、ルールとして予め設定されている。
コンテナ配置ルール情報D112では、プライベートクラウドのコンテナクラスタ101と、パブリッククラウドのコンテナクラスタ201で収集した情報に対して、各情報の閾値と、閾値を超過した場合にとる動作が、ルールとして予め設定されている。
コンテナ配置調整部104は、定期的に全コンテナクラスタ情報D121とコンテナ配置ルール情報D112を確認し、コンテナ配置ルール情報D112に設定されている閾値を超過する情報が全コンテナクラスタ情報記憶部121に格納されているか否かについて確認する。全コンテナクラスタ情報記憶部121に格納されている全コンテナクラスタ情報D121が閾値を超過している場合は、コンテナ配置ルール情報D112に設定されている動作を、プライベートクラウドのコンテナクラスタ101のコンテナ配置制御部106、もしくはパブリッククラウドのコンテナクラスタ201のコンテナ配置制御部206に要求する。また、コンテナ配置調整部104は、同時にロードバランサ301のリクエスト振り分けルール情報D303を、コンテナ配置ルール情報D112の設定に従って、変更する。
具体的には、図3では、[条件C1]が満たされている場合に、[動作A1]が実行されるというルールが設定されている。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率(第2性能とも称する)が70%以下」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が70%以下」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率(第1性能とも称する)が70%以上」である場合に、[条件C1]が満たされていると判定される。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率(第2性能とも称する)が70%以下」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が70%以下」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率(第1性能とも称する)が70%以上」である場合に、[条件C1]が満たされていると判定される。
なお、[動作A1]では、「プライベートクラウドのコンテナクラスタ101のコンテナ107のコンテナ数を増やす」動作とともに、「ロードバランサ301でのリクエストの振り分けで、プライベートクラウドのコンテナクラスタ101へ振り分ける固定の比率を50%に増やす」動作が行われる。
[動作A1]が行われない場合、パブリッククラウドのコンテナクラスタ201の制御が行われることにより、パブリッククラウドのコンテナクラスタ201でコンテナ数が増加し、パブリッククラウドのコンテナクラスタ201での処理量が上がる。
[動作A1]が行われない場合、パブリッククラウドのコンテナクラスタ201の制御が行われることにより、パブリッククラウドのコンテナクラスタ201でコンテナ数が増加し、パブリッククラウドのコンテナクラスタ201での処理量が上がる。
一方、[動作A1]が行われることにより、プライベートクラウドのコンテナクラスタ101に余裕があるときに、プライベートクラウドのコンテナクラスタ101で処理量を増やし、パブリッククラウドのコンテナクラスタ201で処理量を抑えることができる。
また、図3では、[条件C2]が満たされている場合に、[動作A2]が実行されるというルールが設定されている。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率が80%以上」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が80%以上」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が70%以下」である場合に、[条件C2]が満たされていると判定される。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率が80%以上」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が80%以上」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が70%以下」である場合に、[条件C2]が満たされていると判定される。
なお、[動作A2]では、「パブリッククラウドのコンテナクラスタ201のコンテナ207のコンテナ数を増やす」動作とともに、「ロードバランサ301でのリクエストの振り分けで、プライベートクラウドのコンテナクラスタ101へ振り分ける固定の比率を0%にする」動作が行われる。
[動作A2]が行われない場合、プライベートクラウドのコンテナクラスタ101ではコンテナ数が増やせないので、処理量を上げることができない。
一方、[動作A2]が行われることにより、できるだけプライベートクラウドのコンテナクラスタ101で処理を行いながら、プライベートクラウドのコンテナクラスタ101で処理しきれないときに、パブリッククラウドのコンテナクラスタ201での処理量を上げて、プライベートクラウドのコンテナクラスタ101とパブリッククラウドのコンテナクラスタ201との全体の処理量を維持することができる。
一方、[動作A2]が行われることにより、できるだけプライベートクラウドのコンテナクラスタ101で処理を行いながら、プライベートクラウドのコンテナクラスタ101で処理しきれないときに、パブリッククラウドのコンテナクラスタ201での処理量を上げて、プライベートクラウドのコンテナクラスタ101とパブリッククラウドのコンテナクラスタ201との全体の処理量を維持することができる。
また、図3では、[条件C3]が満たされている場合に、[動作A3]が実行されるというルールが設定されている。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率が70%以下」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が70%以下」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が70%以下」である場合に、[条件C3]が満たされていると判定される。
ここでは、「プライベートクラウドのコンテナクラスタ101のコンテナ107のCPU使用率が70%以下」であって、「プライベートクラウドのコンテナクラスタ101のCPU使用率が70%以下」であって、「パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が70%以下」である場合に、[条件C3]が満たされていると判定される。
なお、[動作A3]では、「パブリッククラウドのコンテナクラスタ201のコンテナ207のコンテナ数を減らす」動作とともに、「ロードバランサ301でのリクエストの振り分けで、プライベートクラウドのコンテナクラスタ101へ振り分ける固定の比率を50%に増やす」動作が行われる。
[動作A3]が行われない場合、プライベートクラウドのコンテナクラスタ101と、パブリッククラウドのコンテナクラスタ201の両方で、コンテナ数が減らされる。
[動作A3]が行われない場合、プライベートクラウドのコンテナクラスタ101と、パブリッククラウドのコンテナクラスタ201の両方で、コンテナ数が減らされる。
一方、[動作A3]が行われることにより、できるだけパブリッククラウドのコンテナクラスタ201でコンテナ数を減らし、プライベートクラウドのコンテナクラスタ101が処理できる範囲ならばプライベートクラウドのコンテナクラスタ101に処理をさせることができる。
コンテナ配置制御部106は、コンテナ配置調整部104からの要求を受け取り、その要求に従って、コンテナ107の数を増減させる。
コンテナ107は、任意のアプリケーションが動作するコンテナである。
コンテナ配置制御部106は、コンテナ配置調整部104からの要求を受け取り、その要求に従って、コンテナ107の数を増減させる。
コンテナ107は、任意のアプリケーションが動作するコンテナである。
パブリッククラウドのコンテナクラスタ201は、コンテナクラスタ情報収集部202と、コンテナ配置制御部206と、コンテナ207とを備える。
コンテナクラスタ情報収集部202は、パブリッククラウドのコンテナクラスタ201や、パブリッククラウドのコンテナクラスタ201で動作するコンテナ207のCPU使用率の情報を定期的に収集する。
コンテナクラスタ情報収集部202は、パブリッククラウドのコンテナクラスタ201や、パブリッククラウドのコンテナクラスタ201で動作するコンテナ207のCPU使用率の情報を定期的に収集する。
コンテナ配置制御部206は、コンテナ配置調整部104からの要求を受け取り、その要求に従って、コンテナ207の数を増減させる。
コンテナ207は、コンテナ107と同一のものである。ここでは、コンテナ107がプライベートクラウドのコンテナクラスタ101で起動されたコンテナであり、コンテナ207がパブリッククラウドのコンテナクラスタ201で起動されたコンテナであることを明確にするために、コンテナ107と区別して、コンテナ207と称することとする。
コンテナ207は、コンテナ107と同一のものである。ここでは、コンテナ107がプライベートクラウドのコンテナクラスタ101で起動されたコンテナであり、コンテナ207がパブリッククラウドのコンテナクラスタ201で起動されたコンテナであることを明確にするために、コンテナ107と区別して、コンテナ207と称することとする。
ロードバランサ301は、リクエスト振り分け処理部302と、リクエスト振り分けルール情報記憶部303と、を備える。
リクエスト振り分け処理部302は、リクエスト振り分けルール情報記憶部303が記憶しているリクエスト振り分けルール情報D303を参照し、クライアント端末から受信したリクエストを、コンテナ107とコンテナ207に振り分ける。
リクエスト振り分け処理部302は、リクエスト振り分けルール情報記憶部303が記憶しているリクエスト振り分けルール情報D303を参照し、クライアント端末から受信したリクエストを、コンテナ107とコンテナ207に振り分ける。
図4は、本発明の第1実施形態によるリクエスト振り分けルール情報記憶部303(図1)が記憶するリクエスト振り分けルール情報D303の一例を示す図である。
リクエスト振り分けルール情報D303では、リクエスト振り分け処理部302がリクエストを振り分けるルールが定められている。コンテナ配置調整部104によって、リクエストを振り分けるルールは変更される。
ここでは、リクエスト振り分けルール情報D303において、ロードバランサ301がクライアント端末から受信したリクエスト(処理要求)の50%が、プライベートクラウドのコンテナクラスタ101へ振り分けられ、リクエストの残りの50%が、レイテンシに基づいて、プライベートクラウドのコンテナクラスタ101とパブリッククラウドのコンテナクラスタ201に振り分けられるというルールが定められている。
リクエスト振り分けルール情報D303では、リクエスト振り分け処理部302がリクエストを振り分けるルールが定められている。コンテナ配置調整部104によって、リクエストを振り分けるルールは変更される。
ここでは、リクエスト振り分けルール情報D303において、ロードバランサ301がクライアント端末から受信したリクエスト(処理要求)の50%が、プライベートクラウドのコンテナクラスタ101へ振り分けられ、リクエストの残りの50%が、レイテンシに基づいて、プライベートクラウドのコンテナクラスタ101とパブリッククラウドのコンテナクラスタ201に振り分けられるというルールが定められている。
図5は、本発明の第1実施形態による全コンテナクラスタ情報収集部103(図1)の動作を示すフローチャートである。
始めに、全コンテナクラスタ情報収集部103は、連携コンテナクラスタ情報記憶部111が記憶している連携コンテナクラスタ情報D111を参照し、情報を収集する対象のコンテナクラスタのリストを取得する(ステップS11)。
始めに、全コンテナクラスタ情報収集部103は、連携コンテナクラスタ情報記憶部111が記憶している連携コンテナクラスタ情報D111を参照し、情報を収集する対象のコンテナクラスタのリストを取得する(ステップS11)。
次に、全コンテナクラスタ情報収集部103は、コンテナクラスタ情報収集部102、202にアクセスし、そのコンテナクラスタの情報を取得する(ステップS12)。
次に、全コンテナクラスタ情報収集部103は、取得したコンテナクラスタの情報を、全コンテナクラスタ情報記憶部121に格納する(ステップS13)。
次に、全コンテナクラスタ情報収集部103は、取得したコンテナクラスタの情報を、全コンテナクラスタ情報記憶部121に格納する(ステップS13)。
図6は、本発明の第1実施形態によるコンテナ配置調整部104(図1)の動作を示すフローチャートである。
始めに、コンテナ配置調整部104は、コンテナ配置ルール情報記憶部112が記憶しているコンテナ配置ルール情報D112と、全コンテナクラスタ情報記憶部121が記憶している全コンテナクラスタ情報D121を参照し、コンテナ配置ルール情報D112に記憶されている条件に合致するか否かを確認する(ステップS21)。
コンテナ配置ルール情報記憶部112に記憶されている条件に合致しない場合(ステップS22でNO)、コンテナ配置調整部104は、図6に示すフローチャートの処理を終了する。
始めに、コンテナ配置調整部104は、コンテナ配置ルール情報記憶部112が記憶しているコンテナ配置ルール情報D112と、全コンテナクラスタ情報記憶部121が記憶している全コンテナクラスタ情報D121を参照し、コンテナ配置ルール情報D112に記憶されている条件に合致するか否かを確認する(ステップS21)。
コンテナ配置ルール情報記憶部112に記憶されている条件に合致しない場合(ステップS22でNO)、コンテナ配置調整部104は、図6に示すフローチャートの処理を終了する。
コンテナ配置ルール情報記憶部112に記憶されている条件に合致する場合(ステップS22でYES)、コンテナ配置調整部104は、コンテナ配置ルール情報D112で定められている動作に従い、プライベートクラウドのコンテナクラスタ101のコンテナ配置制御部106か、パブリッククラウドのコンテナクラスタ201のコンテナ配置制御部206に、コンテナの増加または削減を要求する(ステップS23)。
そして、コンテナ配置調整部104は、コンテナ配置ルール情報D112で定められている動作に従い、リクエストの振り分けルール情報D303を変更する(ステップS24)。
そして、コンテナ配置調整部104は、コンテナ配置ルール情報D112で定められている動作に従い、リクエストの振り分けルール情報D303を変更する(ステップS24)。
図7は、本発明の第1実施形態によるコンテナ配置制御部106(図1)の動作を示すフローチャートである。
始めに、コンテナ配置制御部106は、コンテナ配置調整部104から、コンテナの増加、または減少要求を受け取る(ステップS31)。
コンテナ配置制御部106が、増加の要求を受け取った場合(ステップS32でYES)、コンテナ配置制御部106は、コンテナを新たに起動し、コンテナ107のコンテナ数を増加させる(ステップS33)。
コンテナ配置制御部106が、減少の要求を受け取った場合(ステップS32でNO)、コンテナ配置制御部106は、コンテナを停止し、コンテナ107のコンテナ数を減少させる(ステップS34)。
なお、図7のステップS33又はS34の処理と、図6のステップS24の処理は、同時に行われることが好ましい。
始めに、コンテナ配置制御部106は、コンテナ配置調整部104から、コンテナの増加、または減少要求を受け取る(ステップS31)。
コンテナ配置制御部106が、増加の要求を受け取った場合(ステップS32でYES)、コンテナ配置制御部106は、コンテナを新たに起動し、コンテナ107のコンテナ数を増加させる(ステップS33)。
コンテナ配置制御部106が、減少の要求を受け取った場合(ステップS32でNO)、コンテナ配置制御部106は、コンテナを停止し、コンテナ107のコンテナ数を減少させる(ステップS34)。
なお、図7のステップS33又はS34の処理と、図6のステップS24の処理は、同時に行われることが好ましい。
次に、本発明の第1実施形態の効果について説明する。
第1実施形態では、パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が予め設定された閾値を超過した場合に、パブリッククラウドのコンテナクラスタ201のコンテナ207のコンテナ数を増加させるのではなく、プライベートクラウドのコンテナクラスタ101のコンテナ107のコンテナ数を増加させる。そのため、プライベートクラウドのコンテナクラスタ101のリソースに余裕がある場合に、プライベートクラウドのリソースを有効活用し、パブリッククラウドのコンテナクラスタ201のリソースの使用量を抑えることができる。
第1実施形態では、パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が予め設定された閾値を超過した場合に、パブリッククラウドのコンテナクラスタ201のコンテナ207のコンテナ数を増加させるのではなく、プライベートクラウドのコンテナクラスタ101のコンテナ107のコンテナ数を増加させる。そのため、プライベートクラウドのコンテナクラスタ101のリソースに余裕がある場合に、プライベートクラウドのリソースを有効活用し、パブリッククラウドのコンテナクラスタ201のリソースの使用量を抑えることができる。
また、第1実施形態では、パブリッククラウドのコンテナクラスタ201のコンテナ207のCPU使用率が予め設定された閾値を超過したことを契機に、プライベートクラウドのコンテナクラスタ101のコンテナ107のコンテナ数を増加させる場合に、同時にロードバランサ301のリクエスト振り分けルール情報D303を変更する。そのため、プライベートクラウドのコンテナクラスタ101で処理可能なリクエスト量が増えるのと同時に、プライベートクラウドのコンテナクラスタ101へ振り分けられるリクエストが増えて、素早くクライアント端末からのリクエストを処理することができる。
[第2実施形態]
次に、本発明の第2実施形態について説明する。第2実施形態の構成が、第1実施形態の構成と同様である部分については、同一の符号を付して、それらの説明を省略する。
次に、本発明の第2実施形態について説明する。第2実施形態の構成が、第1実施形態の構成と同様である部分については、同一の符号を付して、それらの説明を省略する。
図8は、本発明の第2実施形態によるコンテナ管理システム500bの概略構成図である。第2実施形態によるコンテナ管理システム500bは、プライベートクラウドのコンテナクラスタ101が、コンテナ配置シミュレーション部105を更に備える点において、第1実施形態によるコンテナ管理システム500a(図1)と異なる。
第1実施形態では、コンテナクラスタ情報収集部102、202(図1)が収集する情報をCPU使用率の情報とし、コンテナ配置ルール情報D112(図3)でCPU使用率の値の閾値を用いて、予め設定された動作を実行していた。これに対して、第2実施形態では、コンテナ配置シミュレーション部105は、CPU使用率の履歴から、コンテナ配置のシミュレーションを行い、コンテナの増減をした場合のリソースの使用量、レスポンスタイムのシミュレーションを行って、コンテナを増減させることに問題がないことを確認した後、コンテナを増減させる。
第2実施形態によれば、コンテナの増減をした場合のリソースの使用量、レスポンスタイムのシミュレーションを行って、問題が無いことを確認した後で、実際に、コンテナの増減を行うため、コンテナの増減を行ったものの、リソースの使用量やレスポンスタイムに関する性能が悪化することを避けることができる。
なお、上述した各実施形態では、コンテナクラスタ情報収集部102、202が収集する情報をCPU使用率の情報とし、コンテナ配置ルール情報D112(図3)でCPU使用率の値の閾値を条件の判定に用いているが、他にメモリ使用量、リクエストのレスポンスタイム、入出力性能、アプリケーションが出力するログを収集し、コンテナ配置ルール情報D112における条件の判定で用いてもよい。
また、上述した各実施形態では、ハイブリッドクラウドが、1つのプライベートクラウドと、1つのパブリッククラウドで構成される場合について説明したが、ハイブリッドクラウドは、1つのプライベートクラウドと、複数のパブリッククラウドで構成されてもよい。また、ハイブリッドクラウドに、プライベートクラウドを設けずに、ハイブリッドクラウドを、複数のパブリッククラウドで構成してもよい。
また、上述した各実施形態では、コンテナ配置ルール情報D112(図3)において、CPU使用率やリクエストの振り分け情報として固定の数値(70%、80%など)を設定していたが、これに限定されるものではなく、他の数値を設定してもよい。また、過去の情報の履歴に基づいて、それらの数値を適切に変更するようにしてもよい。
また、上述した各実施形態では、プライベートのコンテナクラスタ101に、コンテナクラスタ情報収集部102、全コンテナクラスタ情報収集部103、コンテナ配置調整部104、コンテナ配置制御部106、連携コンテナクラスタ情報記憶部111、コンテナ配置ルール情報記憶部112、全コンテナクラスタ情報記憶部121を設ける場合について説明したが、これに限定されるものではない。例えば、プライベートのコンテナクラスタ101とは別に管理サーバを設置し、これらの構成要素の少なくとも1つを、その管理サーバで構成するようにしてもよい。
また、上述した各実施形態では、ロードバランサ301でのリクエストの振り分けルールとして、クライアント端末からのリクエストを、固定の比率で振り分け、その後でレイテンシに基づいて振り分ける場合について説明したが(図4参照)、これに限定されるものではなく、他のリクエスト振り分け方法を用いてもよい。
次に、最小構成を有するコンテナクラスタ600(コンテナ管理装置とも称する)について説明する。
図9は、最小構成を有するコンテナクラスタ600の構成を示すブロック図である。コンテナクラスタ600は、管理部601を備える。
図10は、最小構成を有するコンテナクラスタ600の処理を示すフローチャートである。
コンテナクラスタ600が備える管理部601は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、第1クラウドの第1性能および第2クラウドの第2性能が、所定の条件(例えば、図3に示す条件)を満たしている場合に、第2クラウドで処理されるコンテナ数を調整すると同時に、ハイブリッドクラウドに対する処理要求を、第1クラウドと第2クラウドに振り分ける比率を変更する(ステップS41)。
コンテナクラスタ600が備える管理部601は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、第1クラウドの第1性能および第2クラウドの第2性能が、所定の条件(例えば、図3に示す条件)を満たしている場合に、第2クラウドで処理されるコンテナ数を調整すると同時に、ハイブリッドクラウドに対する処理要求を、第1クラウドと第2クラウドに振り分ける比率を変更する(ステップS41)。
なお、図1、図8、図9における各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含む。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピュータシステムに内蔵されるHDD(Hard Disk Drive)等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含む。
本発明のいくつかの態様は、仮想マシンを増設する処理と、クライアント端末からの処理要求を振り分ける処理を同時に行う場合であっても、仮想マシンが起動するまでの時間を短縮することができ、処理要求の処理を開始するまでの時間を短くすることが必要なコンテナ管理装置、コンテナ管理方法及びプログラムなどに適用することができる。
101・・・プライベートクラウドのコンテナクラスタ、
102・・・コンテナクラスタ情報収集部、
103・・・全コンテナクラスタ情報収集部、
104・・・コンテナ配置調整部、
105・・・コンテナ配置シミュレーション部、
106・・・コンテナ配置制御部、
107・・・コンテナ、
111・・・連携コンテナクラスタ情報記憶部、
112・・・コンテナ配置ルール情報記憶部、
120・・・コンテナ配置管理部、
121・・・全コンテナクラスタ情報記憶部、
201・・・パブリッククラウドのコンテナクラスタ、
202・・・コンテナクラスタ情報収集部、
206・・・コンテナ配置制御部、
207・・・コンテナ、
301・・・ロードバランサ、
302・・・リクエスト振り分け処理部、
303・・・リクエスト振り分けルール情報記憶部、
500a、500b・・・コンテナ管理システム、
600・・・コンテナクラスタ、
601・・・管理部
102・・・コンテナクラスタ情報収集部、
103・・・全コンテナクラスタ情報収集部、
104・・・コンテナ配置調整部、
105・・・コンテナ配置シミュレーション部、
106・・・コンテナ配置制御部、
107・・・コンテナ、
111・・・連携コンテナクラスタ情報記憶部、
112・・・コンテナ配置ルール情報記憶部、
120・・・コンテナ配置管理部、
121・・・全コンテナクラスタ情報記憶部、
201・・・パブリッククラウドのコンテナクラスタ、
202・・・コンテナクラスタ情報収集部、
206・・・コンテナ配置制御部、
207・・・コンテナ、
301・・・ロードバランサ、
302・・・リクエスト振り分け処理部、
303・・・リクエスト振り分けルール情報記憶部、
500a、500b・・・コンテナ管理システム、
600・・・コンテナクラスタ、
601・・・管理部
Claims (10)
- ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する管理部
を備えるコンテナ管理装置。 - 前記第1性能として、前記第1クラウドに関する第1処理負荷の値を用い、
前記第2性能として、前記第2クラウドに関する第2処理負荷の値を用い、
前記所定の条件として、前記第1処理負荷の値が、第1閾値以上であるとともに、前記第2処理負荷の値が、第2閾値以下であるという条件を用い、
前記管理部は、前記所定の条件が満たされている場合に、前記第2クラウドで処理されるコンテナ数が増加するように前記コンテナ数を調整する
請求項1に記載のコンテナ管理装置。 - 前記管理部は、前記所定の条件が満たされている場合に、前記第2クラウドに対して振り分けられる前記処理要求が増加するように前記比率を変更する
請求項2に記載のコンテナ管理装置。 - 前記第1性能として、前記第1クラウドに関する第1処理負荷の値を用い、
前記第2性能として、前記第2クラウドに関する第2処理負荷の値を用い、
前記所定の条件として、前記第1処理負荷の値が、第1閾値以下であるとともに、前記第2処理負荷の値が、第2閾値以上であるという条件を用い、
前記管理部は、前記所定の条件が満たされている場合に、前記第1クラウドで処理されるコンテナ数が増加するように前記コンテナ数を調整する
請求項1に記載のコンテナ管理装置。 - 前記管理部は、前記所定の条件が満たされている場合に、前記第2クラウドに対して前記処理要求を振り分けないように前記比率を変更する
請求項4に記載のコンテナ管理装置。 - 前記第1性能として、前記第1クラウドに関する第1処理負荷の値を用い、
前記第2性能として、前記第2クラウドに関する第2処理負荷の値を用い、
前記所定の条件として、前記第1処理負荷の値が、第1閾値以下であるとともに、前記第2処理負荷の値が、第2閾値以下であるという条件を用い、
前記管理部は、前記所定の条件が満たされている場合に、前記第1クラウドで処理されるコンテナ数が減少するように前記コンテナ数を調整する
請求項1に記載のコンテナ管理装置。 - 前記管理部は、前記所定の条件が満たされている場合に、前記第2クラウドに対して振り分けられる前記処理要求が増加するように前記比率を変更する
請求項6に記載のコンテナ管理装置。 - 前記第1クラウドは、パブリッククラウドであり、
前記第2クラウドは、プライベートクラウドである
請求項1から7までのいずれか1項に記載のコンテナ管理装置。 - ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する
コンテナ管理方法。 - コンテナ管理装置のコンピュータを、
ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、前記第1クラウドの第1性能および前記第2クラウドの第2性能が、所定の条件を満たしている場合に、前記第2クラウドで処理されるコンテナ数を調整すると同時に、前記ハイブリッドクラウドに対する処理要求を、前記第1クラウドと前記第2クラウドに振り分ける比率を変更する管理手段
として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020102249A JP2021196808A (ja) | 2020-06-12 | 2020-06-12 | コンテナ管理装置、コンテナ管理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020102249A JP2021196808A (ja) | 2020-06-12 | 2020-06-12 | コンテナ管理装置、コンテナ管理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021196808A true JP2021196808A (ja) | 2021-12-27 |
Family
ID=79195537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020102249A Pending JP2021196808A (ja) | 2020-06-12 | 2020-06-12 | コンテナ管理装置、コンテナ管理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021196808A (ja) |
-
2020
- 2020-06-12 JP JP2020102249A patent/JP2021196808A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601512B2 (en) | System and method for throttling service requests having non-uniform workloads | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US9419904B2 (en) | System and method for throttling service requests using work-based tokens | |
US9984013B2 (en) | Method, controller, and system for service flow control in object-based storage system | |
JP6457447B2 (ja) | データセンターのネットワークトラフィックスケジューリング方法及び装置 | |
US10078533B2 (en) | Coordinated admission control for network-accessible block storage | |
US20120221730A1 (en) | Resource control system and resource control method | |
CN111478857B (zh) | 一种接口限流控制方法、装置以及电子设备 | |
Liu et al. | An economical and SLO-guaranteed cloud storage service across multiple cloud service providers | |
US10250673B1 (en) | Storage workload management using redirected messages | |
JP2013525931A (ja) | コンテンツ配信に利用される動的バインド | |
CN112445857A (zh) | 一种基于数据库的资源配额管理方法和装置 | |
US11949737B1 (en) | Allocation of server resources in remote-access computing environments | |
JP2020127182A (ja) | 制御装置、制御方法及びプログラム | |
CN108376103A (zh) | 一种云平台的资源平衡控制方法及服务器 | |
Hsieh et al. | The incremental load balance cloud algorithm by using dynamic data deployment | |
JP2015011365A (ja) | プロビジョニング装置、システム、プロビジョニング方法、および、プロビジョニングプログラム | |
JP6374841B2 (ja) | 仮想マシン配置装置および仮想マシン配置方法 | |
CN110069319B (zh) | 一种面向朵云资源管理的多目标虚拟机调度方法及系统 | |
JP2021196808A (ja) | コンテナ管理装置、コンテナ管理方法及びプログラム | |
CN115604269A (zh) | 一种服务器的负载均衡方法、装置、电子设备及存储介质 | |
CN116166181A (zh) | 一种云监控方法和云管理平台 | |
JP4999932B2 (ja) | 仮想計算機システム及び仮想計算機重み付け設定処理方法及び仮想計算機重み付け設定処理プログラム | |
WO2023105670A1 (ja) | リソース管理装置及びプログラム | |
JPWO2014136263A1 (ja) | ストレージシステム、ストレージ装置の制御方法及びプログラム |