JP7460564B2 - コンテナ環境構築システム、方法およびプログラム - Google Patents

コンテナ環境構築システム、方法およびプログラム Download PDF

Info

Publication number
JP7460564B2
JP7460564B2 JP2021022870A JP2021022870A JP7460564B2 JP 7460564 B2 JP7460564 B2 JP 7460564B2 JP 2021022870 A JP2021022870 A JP 2021022870A JP 2021022870 A JP2021022870 A JP 2021022870A JP 7460564 B2 JP7460564 B2 JP 7460564B2
Authority
JP
Japan
Prior art keywords
container
network
function
auxiliary
group
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.)
Active
Application number
JP2021022870A
Other languages
English (en)
Other versions
JP2022124942A (ja
Inventor
柊 関川
悠己 加須屋
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2021022870A priority Critical patent/JP7460564B2/ja
Publication of JP2022124942A publication Critical patent/JP2022124942A/ja
Application granted granted Critical
Publication of JP7460564B2 publication Critical patent/JP7460564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンテナとして実行されるアプリケーションに対して、通信相手先の選択、アドレス割り当て、名前解決などのコンテナ間通信に必要なネットワーク機能を提供する附帯ネットワーク(NW)機能を独立したコンテナとして、Network Interface Card(NIC)をアプリケーションコンテナと共有可能に配置することでコンテナ間のネットワーク構築を自動化するシステム、方法およびプログラムに関する。
マイクロサービス型アーキテクチャにおいては機能ごとに独立したコンテナとして、アプリケーションが動的にコンテナ基盤上に配置されるため、分散した多数のコンテナ間を接続するネットワークの構築手法が必要となる。
一般的なユースケースでは、NATなしに疎通可能なフラットなネットワークがコンテナ間に構成される。テレコムネットワークインフラにおいては、特定のコンテナ間のみを接続するネットワーク構成や様々なプロトコルに対応可能なネットワークが必要となる。
一方、コンテナでは動的な再配置やスケールアウトが頻繁に実施されるため、従来の仮想マシンに用いられるネットワーク自動構築技術では対応が困難である。
このような技術課題に対して、特許文献1には、仮想マシンに対してネットワーク構築端末からコマンドリストに従ってネットワーク構築に用いられるコマンドを自動的に作成するシステムが開示されている。
特開2020-150317号公報
特許文献1によれば仮想マシン間のネットワーク構築を自動化できるが、多数のコンテナから構成されるマイクロサービス型システムへの適用においては以下のような課題が残る。
第1に、ネットワーク構築端末で作成されたコマンドリストを各コンテナ内で実行し、ネットワークを構築する必要があるため、各コンテナ内にネットワーク構成するためのコマンドや機能を具備する必要がある。
第2に、ユーザはアドレスやルーティング等のネットワーク構成に関わる設定を、各コンテナを指定してネットワーク設計情報としてネットワーク構築端末へ入力する必要があるため、マイクロサービス型システムで求められる動的なコンテナ数の変動やネットワーク構成の変動への対応が困難となる場合がある。
第3に、ネットワーク構築端末はコンテナ実行基盤単位で用意されるため、機能ごとに多数のコンテナが起動するマイクロサービス型サービスではネットワーク構築端末の負荷が増大する可能性がある。
本発明の目的は、上記の技術課題を解決し、ネットワーク構成に必要な機能を独立させた附帯NW機能のコンテナをコンテナ実行基盤上に配置し、アプリケーションとNICを共有させることでネットワーク構築を自動化するコンテナ環境構築システム、方法およびプログラムを提供することにある。
上記の目的を達成するために、本発明は、ネットワークおよび各コンテナ群の構成が記述された構成定義ファイルに基づいてコンテナ実行基盤上にコンテナ環境を構築するコンテナ環境構築システムにおいて、以下の構成を具備した点に特徴がある。
(1) 構成定義ファイルに基づいてネットワーク構成を解析する手段と、解析の結果に基づいて、アプリケーションを実行するアプリケーションコンテナおよびコンテナ間に仮想ネットワークを構築する附帯ネットワーク機能コンテナを含む複数のコンテナ群を構築する手段とを具備し、各コンテナ群の附帯ネットワーク機能コンテナ同士が協調動作して、各コンテナ群のコンテナ間に仮想ネットワークを構築するようにした。
(2) コンテナ群ごとに各コンテナが当該コンテナ群の附帯ネットワーク機能コンテナを共有するようにした。
(3) アプリケーションコンテナと附帯ネットワーク機能コンテナとを独立させた。
(4) 各附帯ネットワーク機能は、各コンテナ群の仮想NICおよび各仮想NIC間の通信を中継する仮想ネットワークスイッチに対してネットワーク設定を行うようにした。
(5) 附帯ネットワーク機能コンテナが、ネットワークサービスの提供に必要な機能として、アドレス割り当て機能、名前解決機能、ルーティング機能およびポート変換機能の少なくとも一つを含むようにした。
(6) 仮想ネットワークで接続された附帯ネットワーク機能コンテナの一方が他方に対して接続確認を繰り返し、ネットワーク接続不良が検知されると、附帯ネットワーク機能コンテナの一方が附帯ネットワーク機能コンテナを再構築するようにした。
本発明によれば、以下のような効果が達成される。
(1) 附帯NW機能によってコンテナ間のネットワークが自動的に構築されるため、事前のネットワーク設定や構築作業およびネットワーク通信に必要なネットワーク機能の構成が不要となる。
(2) 附帯NW機能がアプリケーションとは独立して動作するため、NW構築に関する機能の実装をアプリケーションから省略することでアプリケーションの開発、設定項目を簡略化することが可能になる。
(3) 附帯NW機能内でコンテナ間通信に必要な機能が完結しているため、アプリケーションコンテナで実行されるアプリケーションの種類に関わらず附帯NW機能コンテナをコンテナ群へ追加することで構成定義ファイルに従ったネットワーク構成を自動構築することが可能になる。
(4) ユーザは、構成定義ファイルのネットワーク構成記述部に使用するネットワーク機能を記述するだけで、必要とするネットワーク機能を附帯NW機能コンテナとしてコンテナ群へ追加する事が可能になる。
(5) ユーザは、構成定義ファイル内のネットワーク構成記述部を変更してコンテナマネージャへ再適用するだけで、コンテナ群構成記述部やアプリケーションコンテナそのものに変更を実施することなくコンテナ間のネットワーク構成を変更する事が可能になる
(6) 附帯NW機能は、接続先を構成定義ファイル内に記述された情報に基づいてコンテナマネージャから動的に取得することで、対象となる接続先コンテナがコンテナ実行基盤上に作成された際に自動的にネットワーク接続を行う事が可能になる。
(7) 接続先コンテナが障害等で再作成された場合でも、接続元コンテナの附帯NW機能がコンテナマネージャから接続先を動的に取得することでネットワーク接続を回復することが可能になる。
(8) 附帯NW機能はネットワーク機能を提供する際に自身のローカルホストアドレスを用いるので、アプリケーションと附帯NW機能との間のネットワークの構築を行うことなくアプリケーションがネットワーク機能にアクセスすることが可能になる。
(9) 附帯NW機能を実行するコンテナおよびアプリケーションを実行するコンテナがいずれもコンテナ群としてコンテナマネージャによって一体で管理され、アプリケーションの終了後は附帯NW機能も同時に終了するので、CPUやメモリといったコンテナ実行基盤のリソースを効率的に使用することが可能になる。
(10) コンテナマネージャによるコンテナ起動処理を行う際、アプリケーションの起動前に附帯NW機能によるネットワーク接続処理が行われ、正常に通信が行えることを確認した後にアプリケーションの起動が行われるため、アプリケーション起動後のネットワーク接続不良による機能不全を防止できる。
(11) 接続元の附帯NW機能が定期的に接続先のネットワーク接続状況確認を確認することで、ネットワーク接続に不良が生じた際にこれを検出し、接続元の附帯NW機能コンテナを再作成するので、アプリケーション間のネットワーク接続を自動で復旧させることが可能になる。
(12) 各アプリケーションに必要なネットワーク機能へのアクセスがコンテナ群内で完結するため、複数のアプリケーションが共通のネットワーク機能を共有する場合と比べてコンテナ群外に送信されるトラフィックを低減することが可能になる。
(13) 附帯NW機能がアプリケーションごとに独立して起動するので、アプリケーション数が増えても附帯NW機能1つ当たりの負荷は変わらない。したがって、ネットワークに関するパフォーマンス低下を防止することが可能になる。
構成定義ファイルに基づくネットワークの解析結果とコンテナ実行基盤上に構築されるコンテナ群との関係を示した図である。 第1コンテナ群から第2コンテナ群への通信を開始するための名前解決手順を示した図である。 第1コンテナ群から第2コンテナ群へ通信を開始する手順を示した図である。 本発明の一実施形態に係るコンテナシステムの構成を示した機能ブロック図である。 コンテナの作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフロー(その1)である。 コンテナの作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフロー(その2)である。 コンテナの作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフロー(その3)である。 コンテナの作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフロー(その4)である。 コンテナの作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフロー(その5)である。 アプリケーション間でのメッセージの送信手順を示したシーケンスフローである。 ネットワークの自動構築が失敗した場合の手順を示したシーケンスフローである。 本発明の概要を説明するための機能ブロック図である。
以下、図面を参照して本発明の実施の形態について説明する。ここで初めに、機能ブロック図を参照して本発明の概要を説明し、次いで、シーケンスフローに沿って本発明の実施形態について詳細に説明する。
図8は、本発明の概要を説明するための機能ブロック図であり、コンテナ実行基盤上に配置される各コンテナ群に、各種のアプリケーションを実行するアプリケーションコンテナが配置される。加えてコンテナ間通信に必要な機能として、例えば通信相手先を選択する機能、アドレス割り当て機能、名前解決機能、ルーティング機能、ポート変換機能等(以下、ネットワークサービスの提供に必要なこれらの機能を「附帯ネットワーク(NW)機能」で総称する)が、アプリケーションコンテナとは独立したコンテナとして、当該アプリケーションコンテナと仮想NICを共有可能な形で配置される。各コンテナ群の附帯NW機能コンテナは相互に協調動作することで各コンテナ群のコンテナ間に仮想ネットワークを構築する。
このような構成により、NW構築に関する機能の実装をアプリケーションから省略できるのでアプリケーションの開発、設定項目を簡略化することが可能になる。また、附帯NW機能はネットワーク機能を提供する際に自身のローカルホストアドレスを用いるので、アプリケーションと附帯NW機能との間のネットワークの構築を行うことなくアプリケーションがネットワーク機能にアクセスすることが可能になる。
図1は、構成定義ファイルに基づくネットワークの解析結果と、当該解析結果に基づいてコンテナ実行基盤上に構築されるコンテナ群との関係を示した図である。
構成定義ファイルは、YAMLやJSON (JavaScript Object Notation) に代表される一般的なデータ記述言語によって表現される。構成定義ファイルはネットワークの構成を記述するネットワーク構成記述部(B1)およびコンテナ群の構成を記述するコンテナ群構成記述部(B2)を含み、本実施形態では2つのコンテナ群構成記述部(B2_1,B2_2)が含まれる。
ネットワーク構成記述部(B1)には、使用するネットワーク機能と各機能に関する設定、ネットワークに属するノードの情報が記述される。コンテナ群構成記述部(B2)には、コンテナ群ごとにその名前や使用するコンテナイメージファイルなど、実行するアプリケーションに関する設定が記述される。
コンテナ群構成記述部(B2)には、後に詳述する本発明に固有の附帯NW機能の設定は含まれないが、構成情報の解析の際、自動的に必要な附帯NW機能がコンテナ群に追加される。ネットワーク構成記述部(B1)およびコンテナ群構成記述部(B2)は1つの構成定義ファイルにまとめて記述する必要はなく、複数の構成定義ファイルに分散して記述するようにしても良い。
本実施形態では、ネットワーク構成記述部(B1)にネットワーク機能として「dhcp」および「dns」が記述され、さらにネットワークノードとして「app1」および「app2」が記述されている。したがって、ネットワーク構成の解析結果は図示の通りとなる。
また、コンテナ構成記述部(B2_1)には、ネットワークノードapp1がアプリケーションコンテナ「application 1」を含む旨が記述され、コンテナ構成記述部(B2_2)には、ネットワークノードapp2がアプリケーションコンテナ「application 2」および「application 2-db」を含む旨が記述されている。したがって、コンテナ実行基盤上にはコンテナ群として、アプリケーションコンテナ「App1」を含む第1コンテナ群(nwnode:app1)およびアプリケーションコンテナ「App2」および「App2-DB」を含む第2コンテナ群(nwnode:app2)が生成される。
さらに、各コンテナ群構成記述部(B2)には記載されていないが、構成情報の解析結果に基づいて、「dhcp」、「dns」として機能するコンテナが必要な附帯NW機能として各コンテナ群に自動的に付加される。図示の例では、「dhcp」として振る舞う「NW構築機能」が附帯NW機能Aコンテナとして付加され、「dns」として振る舞う「名前解決機能」が附帯NW機能Bコンテナとして付加される。
各コンテナ群に実装される仮想NICおよび仮想NIC間で通信を中継する仮想NWスイッチはコンテナ実行基盤により提供され、各コンテナ群のNW構築機能により各コンテナ群の仮想NICが仮想NWスイッチにより相互に接続される。
図2は、第1コンテナ群から第2コンテナ群への通信を開始するための名前解決手順を示した図である。
第1コンテナ群のアプリケーションApp1が「app2.network1.local」への通信を要求すると、第1コンテナ群の名前解決機能が第2コンテナ群の名前解決機能へ名前解決を要求する。当該名前解決要求は、第1コンテナ群の仮想NIC、仮想NWスイッチおよび第2コンテナ群の仮想NICを中継して第2コンテナ群の名前解決機能へ到達する。
第2コンテナ群の名前解決機能は、前記要求に応答してアプリケーションApp2のIPアドレス「10.100.1.124」を返答する。当該返信も第2コンテナ群の仮想NIC、仮想NWスイッチおよび第1コンテナ群の仮想NICを中継して第1コンテナ群の名前解決機能へ到達する。
図3は、第1コンテナ群から第2コンテナ群へ通信を開始する手順を示した図であり、第1コンテナ群のアプリケーションApp1が「app2.network1.local」のIPアドレス「10.100.1.124」に対して通信を行うと、第1コンテナ群の仮想NIC、仮想NWスイッチおよび第2コンテナ群の仮想NICを介して第2コンテナ群のApp-DBへアクセスできる。
次いで、図4の機能ブロック図および図5ないし図7のシーケンスフローを参照して本発明の実施の形態について更に詳細に説明する。
図4は、本発明の一実施形態に係るコンテナ環境構築システムの構成を示した機能ブロック図であり、クライアント端末10、コンテナマネージャ20およびコンテナ実行基盤30を主要な構成として含んでいる。
このようなシステムは、CPU,ROM,RAM,バス,インタフェース等を備えた少なくとも一台の汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部をハードウェア化またはソフトウェア化した専用機や単能機としても構成できる。
ユーザはクライアント端末10上でコンテナの構成定義ファイル101を作成、変更する。構成定義ファイルは、前記図1を参照して説明したように、YAMLなどの一般的なデータ記述言語によって表現され、ネットワーク構成記述部(B1)およびコンテナ群構成記述部(B2)を含む。
コンテナマネージャ20は、構成定義データベース(DB)221、コンテナ管理機能211および構成定義AP222を含む。前記構成定義ファイル101がコンテナマネージャ20へ適用されると構成定義DB221内の構成情報が更新される。構成定義DB221の構成情報はコンテナ管理機能211により解析され、この解析結果にコンテナ実行基盤30上で動作するコンテナの状態が一致するように、コンテナ実行基盤30に対してコンテナ群の作成が要求される。
コンテナ実行基盤30は、コンテナ制御機能301、複数(本実施形態では2つ)のコンテナ群310,320および仮想NWスイッチ331を含む。前記コンテナ制御機能301は、コンテナマネージャ20からのコンテナ群の作成要求に応答して、コンテナ実行基盤30上にコンテナ群310,320を作成する。各コンテナ群には、主にアプリケーション3111,3211を実行するコンテナ311,321に加えて、附帯NW機能Aを実行するコンテナ312,322、附帯NW機能Bを実行するコンテナ313,323および仮想NIC3101,3201が付加される。
各附帯NW機能A,Bは、提供する機能ごとに複数のコンテナに分散配置することが許容され、複数の附帯NW機能が協調して動作する。本実施形態では、附帯NW機能A3121,3221がネットワーク構成機能(dhcp)を提供し、附帯NW機能B3131,3231がアプリケーションへの名前解決機能(dns)の提供を行うものとする。
前記各仮想NIC3101,3201は、附帯NW機能A3121,3221の管理制御によって仮想NWスイッチ331を介して相互に接続され、アプリケーション3111,3211間に通信ネットワークを確立する。また附帯NW機能A3121,3221はネットワーク構成機能を実行するにあたり必要な構成情報をコンテナマネージャ20内の構成定義API222から取得する。
図5A~5Eは、前記コンテナ環境構築システムにおけるコンテナ作成からネットワーク構築までの手順を時系列で分割して示したシーケンスフローである。
初めに図5Aを参照し、時刻t1では、ユーザがクライアント端末10を用いて構成定義ファイルの作成、変更を実施する。時刻t2では、構成定義ファイルがユーザによりコンテナマネージャ20に対して適用される。時刻t3では、構成定義ファイルがコンテナマネージャ20において解析される。時刻t4では、構成定義ファイルの解析結果に基づいてコンテナマネージャ20がコンテナ実行基盤30内のコンテナ制御機能301に対してコンテナ作成を要求する。
時刻t5では、コンテナ制御機能301が前記コンテナ作成要求に応答して、附帯NW機能A3121、アプリケーション3111、附帯NW機能B3131、附帯NW機能A3221,アプリケーション3211および附帯NW機能B3231を実行する各コンテナをコンテナ実行基盤30上に順次に起動させる。
なお、接続元の各コンテナ機能3111,3121,3131と接続先の各コンテナ機能3211,3221,3231とは同時に作成、起動されるとは限らず、例えばコンテナ群320の構成定義ファイルが遅れて適用され、あるいはリソース不足等のコンテナ制御機能起因の問題が構成定義ファイル適用時に発生すると、接続元の各コンテナ機能のみが接続先の各コンテナに先行して作成、起動され得る。
この場合、コンテナ群320側の問題が解消した後に、コンテナマネージャ20がコンテナ群320へコンテナ作成を要求すると、これに応答して各コンテナ機能3211,3221,3231が作成、起動されることになる。その後、接続元の附帯NW機能A3121がコンテナマネージャ20に対して接続先コンテナ検索を行うとNW接続処理が実行される。
このようにすれば、アプリケーションの起動前に附帯NW機能によるネットワーク接続処理が行われ、正常に通信が行えることを確認した後にアプリケーションの起動が行われるようにできるため、アプリケーション起動後のネットワーク接続不良による機能不全を防止できるようになる。
時刻t6-t15では、各コンテナ群の附帯NW機能A3121,3221が協調動作することでネットワーク接続処理が実行される。すなわち、時刻t6では接続元となる附帯NW機能A3121がコンテナマネージャ20の構成定義API222にアクセスして接続先コンテナを検索する。接続元、接続先の関係は構成定義ファイル内に記述あるいはコンテナマネージャ20において自動決定され、時刻t7で附帯NW機能A3121へ応答される。
時刻t8では、応答された情報を用いて附帯NW機能A3121が附帯NW機能A3221に対して接続処理を要求する。時刻t9では、附帯NW機能A3221が前記接続処理要求に応答して、コンテナ群320を接続するための仮想NWを仮想NWスイッチ331に対して構成する。仮想NWの構成が完了すると、時刻t10では、附帯NW機能A3221が附帯NW機能A3121に対して接続応答を返す。時刻t11では、接続応答を受信した附帯NW機能A3121が仮想NWスイッチ331に対して、コンテナ群310を接続するための仮想NWを構成する。これにより、コンテナ群310,320間に通信経路が確立される。
時刻t12では、附帯NW機能A3121が自身の属するコンテナ群内の仮想NIC3101に対して、アプリケーション3211との通信を可能にするための設定を行う。仮想NIC3101の設定が完了すると、時刻t13においてコンテナ制御機能301へ起動完了を通知する。
同様に、時刻t14では、附帯NW機能A3221が自身の属するコンテナ群内のNIC3201に対して、アプリケーション3111との通信を可能にするための設定を行う。NIC3201の設定が完了すると、時刻t15においてコンテナ制御機能301へ起動完了を通知する。これにより、アプリケーション3111,3211間の通信が可能になる。
図5Bを参照し、時刻t20では、コンテナ制御機能301が前記起動完了通知に応答して附帯NW機能B3131へ名前解決機能の起動を要求する。時刻t21では、附帯NW機能B3131が前記起動要求に応答して自身の名前解決機能を起動する。起動が完了すると、時刻t22においてコンテナ制御機能301へ起動完了を通知し、これで附帯NW機能の起動が完了する。
コンテナ制御機能301は、附帯NW機能の起動完了を認識すると、時刻t23においてアプリケーション3111に対してアプリケーションの起動を要求する。アプリケーション3111は、時刻t24においてアプリケーションを起動し、時刻t25において起動完了をコンテナ制御機能301へ通知する。
これと並行または前後して、時刻t26ではコンテナ制御機能301が附帯NW機能B3231へ名前解決機能の起動を要求する。時刻t27では、附帯NW機能B3231が自身の名前解決機能を起動する。起動が完了すると、時刻t28においてコンテナ制御機能301に起動完了を通知し、これで附帯NW機能の起動が完了する。コンテナ制御機能301は、附帯NW機能の起動完了を認識すると、時刻t29において、アプリケーション3211に対してアプリケーションの起動を要求する。
アプリケーション3211は、当該要求に応答して、時刻t30でアプリケーションを起動し、時刻t31において起動完了をコンテナ制御機能301へ通知する。コンテナ制御機能301は、起動完了がアプリケーション3111、3211の両方から通知されると、時刻t32において、コンテナマネージャ20に対してコンテナ群の作成完了を通知し、起動処理を完了する。
図5C~5Eを参照し、以上のようにしてアプリケーションの起動が完了すると、時刻t41では、附帯NW機能A3121が附帯NW機能A3221に対してネットワーク接続状況確認を行い、時刻t42において、附帯NW機能A3221が附帯NW機能A3121に対して接続状況を返答することでネットワークの接続状況確認が行われる。当該接続確認は所定の周期で繰り返される。
接続異常が発生し、接続元のコンテナ群310において、図5Cに示したように附帯NW機能A3121が接続先の附帯NW機能A3122からNW接続状況が無応答であることを検知すると、時刻t43において附帯NW機能A3221へ再接続処理を行う。再接続に失敗すると、時刻t44において自身の終了処理を実行した後、時刻t45においてコンテナ終了をコンテナ制御機能301へ通知する。
コンテナ制御機能301は前記コンテナ終了通知に応答して、時刻t46でアプリケーション3111へコンテナ終了要求を送信する。時刻t47では、アプリケーション3111が当該要求に応答してコンテナ終了処理を実行し、時刻t48においてコンテナ終了をコンテナ制御機能301へ通知する。附帯NW機能B3131でも同様の終了処理が実行される。
一方、接続先のコンテナ群320では図5Dに示したように、附帯NW機能A3121から附帯NW機能A3221へのネットワーク接続状況確認が時刻t50で待受けタイムアウトすると、時刻t51においてコンテナ終了処理を実行し、時刻t52においてコンテナ終了をコンテナ制御機能301へ通知する。
コンテナ制御機能301は前記コンテナ終了通知に応答して、時刻t53でアプリケーション3211へコンテナ終了要求を送信する。時刻t54では、アプリケーション3211が当該要求に応答してコンテナ終了処理を実行し、時刻t55においてコンテナ終了をコンテナ制御機能301へ通知する。附帯NW機能B3231でも同様の終了処理が実行される。
コンテナ制御機能301は、附帯NW機能A3121を実行するコンテナの終了によってコンテナ群の構成とコンテナマネージャ20より要求されたコンテナ群の構成との差異を検出すると、図5Eに示したように、時刻t56において、コンテナ群310に附帯NW機能A3122を新規コンテナとして自動的に作成する。附帯NW機能A3122は、時刻t57において、附帯NW機能A3121と同様のネットワーク接続処理を行ったのち、時刻t58においてコンテナ制御機能301へ起動完了を通知する。この動作によって、附帯NW機能によって構成されたネットワークに異常が発生した際、コンテナ制御機能301はアプリケーション3111,3211間のネットワーク接続を復旧できる。
図6は、アプリケーション3111からアプリケーション3211へメッセージを送信する手順を示したシーケンスフローである。アプリケーション3111はアプリケーション3211へ送信するメッセージの宛先としてコンテナ群320のホスト名を利用する。
コンテナ群320のホスト名に対応するIPアドレスは、附帯NW機能A3221によるネットワーク構成時に動的に決定される。アプリケーション3111は附帯NW機能B3131を経由して通信先の附帯NW機能B3231に対して名前解決を要求すべく、時刻t61で附帯NW機能B3131へアプリケーション3211の名前解決を要求する。附帯NW機能B3131は、時刻t62においてコンテナ群320の附帯NW機能B3231へアプリケーション3211の名前解決を要求する。
附帯NW機能B3231は前記名前解決要求に応答して、時刻t63において附帯NW機能A3221へNW接続状況の取得を要求する。附帯NW機能A3221は前記取得要求に応答して、時刻t64において附帯NW機能B3231へNW接続状況を通知する。
附帯NW機能B3231は、時刻t65において当該通知を解析することでコンテナ群320に割り当てられたIPアドレスを取得すると、時刻t66において附帯NW機能B3131へ前記IPアドレスを応答する。附帯NW機能B3131は、時刻t67において前記IPアドレスをアプリケーション3111へ応答する。
時刻t68において、アプリケーション3111が前記応答されたIPアドレスに対してメッセージを送信すると、仮想NWスイッチ331が時刻t69において当該メッセージをアプリケーション3211へ送信する。アプリケーション3211が時刻t70においてメッセージ応答を返すと、時刻t71では仮想NWスイッチ331がアプリケーション3111へ前記メッセージを応答する。
図7は、ネットワークの自動構築に失敗した場合の手順を示したシーケンスフローであり、ここでは附帯NW機能A3121から附帯NW機能A3221への接続に失敗した場合を例にして説明する。
附帯NW機能A3121は、時刻t8において附帯NW機能A3221に要求した接続処理に対する応答を取得できないか、あるいは接続失敗を検知すると、時刻t82において自身のコンテナ終了処理を実施し、その終了、時刻t83においてコンテナ制御機能301へコンテナ終了を通知する。
コンテナ制御機能301は前記コンテナ終了通知に応答して、時刻t84において、起動した全てのコンテナに対してコンテナ終了を要求する。各コンテナは時刻t85においてコンテナ終了処理を実行し、時刻t86においてコンテナ制御機能301へコンテナ終了を通知する。コンテナ制御機能301は、全てのコンテナからコンテナ終了通知を受け取ると、時刻t87において、コンテナマネージャ20にコンテナ群の作成失敗を通知する。
なお、本発明によれば構成定義ファイルに従ったネットワーク構成を自動構築することが可能になるので、地理的あるいは経済的な格差を超えて多くの人々に安価で利便性の高いコンテナシステムを提供できるようになる。その結果、国連が主導する持続可能な開発目標 (SDGs) の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。
10…クライアント端末,20…コンテナマネージャ,30…コンテナ実行基盤,101…構成定義ファイル,211…コンテナ管理機能,221…構成定義DB,222…構成定義AP,301…コンテナ制御機能,310,320…コンテナ群,311,312,313,321, 322,323…コンテナ,331…仮想NWスイッチ,3101,3201…仮想NIC,3111,3211…アプリケーション,3121,3221…附帯NW機能A,3131,3231…附帯NW機能B

Claims (11)

  1. ネットワークおよび各コンテナ群の構成が記述された構成定義ファイルに基づいてコンテナ実行基盤上にコンテナ環境を構築するコンテナ環境構築システムにおいて、
    構成定義ファイルに基づいてネットワーク構成を解析する手段と、
    前記解析の結果に基づいて、アプリケーションを実行するアプリケーションコンテナおよびコンテナ間に仮想ネットワークを構築する附帯ネットワーク機能を実行する附帯ネットワーク機能コンテナを含む複数のコンテナ群を構築する手段とを具備し、
    各コンテナ群の附帯ネットワーク機能コンテナ同士が協調動作して、各コンテナ群のコンテナ間に仮想ネットワークを構築することを特徴とするコンテナ環境構築システム。
  2. コンテナ群ごとに各コンテナが当該コンテナ群の附帯ネットワーク機能コンテナを共有することを特徴とする請求項1に記載のコンテナ環境構築システム。
  3. アプリケーションコンテナと附帯ネットワーク機能コンテナとが独立していることを特徴とする請求項1または2に記載のコンテナ環境構築システム。
  4. 前記各附帯ネットワーク機能は、各コンテナ群の仮想NICおよび各仮想NIC間の通信を中継する仮想ネットワークスイッチに対してネットワーク設定を行うことを特徴とする請求項1ないし3のいずれかに記載のコンテナ環境構築システム。
  5. 前記附帯ネットワーク機能が、ネットワークサービスの提供に必要な機能を含むことを特徴とする請求項1ないし4のいずれかに記載のコンテナ環境構築システム。
  6. 前記附帯ネットワーク機能が、アドレス割り当て機能、名前解決機能、ルーティング機能およびポート変換機能の少なくとも一つを含むことを特徴とする請求項5に記載のコンテナ環境構築システム。
  7. 仮想ネットワークで接続された附帯ネットワーク機能コンテナの一方が他方に対して接続確認を繰り返し、ネットワーク接続不良が検知されると、附帯ネットワーク機能コンテナの一方が附帯ネットワーク機能コンテナを再構築することを特徴とする請求項1ないし6のいずれかに記載のコンテナ環境構築システム。
  8. コンピュータが、ネットワークおよび各コンテナ群の構成が記述された構成定義ファイルに基づいてコンテナ実行基盤上にコンテナ環境を構築するコンテナ環境構築方法において、
    構成定義ファイルに基づいてネットワーク構成を解析し、
    前記解析の結果に基づいて、アプリケーションを実行するアプリケーションコンテナおよびコンテナ間に仮想ネットワークを構築する附帯ネットワーク機能を実行する附帯ネットワーク機能コンテナを含む複数のコンテナ群を構築し、
    各コンテナ群の附帯ネットワーク機能コンテナ同士が協調動作して、各コンテナ群のコンテナ間に仮想ネットワークを構築することを特徴とするコンテナ環境構築方法。
  9. コンテナ群ごとに各コンテナが当該コンテナ群の附帯ネットワーク機能コンテナを共有することを特徴とする請求項8に記載のコンテナ環境構築方法。
  10. ネットワークおよび各コンテナ群の構成が記述された構成定義ファイルに基づいてコンテナ実行基盤上にコンテナ環境を構築するコンテナ環境構築プログラムにおいて、
    構成定義ファイルに基づいてネットワーク構成を解析する手順と、
    前記解析の結果に基づいて、アプリケーションを実行するアプリケーションコンテナおよびコンテナ間に仮想ネットワークを構築する附帯ネットワーク機能を実行する附帯ネットワーク機能コンテナを含む複数のコンテナ群を構築する手順と、
    各コンテナ群の附帯ネットワーク機能コンテナ同士が協調動作して、各コンテナ群のコンテナ間に仮想ネットワークを構築する手順と、をコンピュータに実行させるコンテナ環境構築プログラム。
  11. コンテナ群ごとに各コンテナが当該コンテナ群の附帯ネットワーク機能コンテナを共有することを特徴とする請求項10に記載のコンテナ環境構築プログラム。
JP2021022870A 2021-02-16 2021-02-16 コンテナ環境構築システム、方法およびプログラム Active JP7460564B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021022870A JP7460564B2 (ja) 2021-02-16 2021-02-16 コンテナ環境構築システム、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021022870A JP7460564B2 (ja) 2021-02-16 2021-02-16 コンテナ環境構築システム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2022124942A JP2022124942A (ja) 2022-08-26
JP7460564B2 true JP7460564B2 (ja) 2024-04-02

Family

ID=82941752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021022870A Active JP7460564B2 (ja) 2021-02-16 2021-02-16 コンテナ環境構築システム、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7460564B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190188094A1 (en) 2017-12-19 2019-06-20 Hewlett Packard Enterprise Development Lp Disaster recovery of containers
JP2019101866A (ja) 2017-12-05 2019-06-24 コニカミノルタ株式会社 アプリケーションの更新方法およびプログラム
US20200065080A1 (en) 2018-08-24 2020-02-27 Vmware, Inc. Hierarchical api for defining a multi-segmented application in an sddc
WO2020171410A1 (ko) 2019-02-19 2020-08-27 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101866A (ja) 2017-12-05 2019-06-24 コニカミノルタ株式会社 アプリケーションの更新方法およびプログラム
US20190188094A1 (en) 2017-12-19 2019-06-20 Hewlett Packard Enterprise Development Lp Disaster recovery of containers
US20200065080A1 (en) 2018-08-24 2020-02-27 Vmware, Inc. Hierarchical api for defining a multi-segmented application in an sddc
WO2020171410A1 (ko) 2019-02-19 2020-08-27 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
JP2022124942A (ja) 2022-08-26

Similar Documents

Publication Publication Date Title
JP6544872B2 (ja) 負荷バランシングコンピュータデバイス、システム、および方法
US11265368B2 (en) Load balancing method, apparatus, and system
CN109451084B (zh) 一种服务访问方法及装置
CN108347493B (zh) 混合云管理方法、装置和计算设备
CN111917649B (zh) 虚拟私有云通信及配置方法以及相关装置
US10594586B2 (en) Dialing test method, dialing test system, and computing node
US10868856B2 (en) Network element and method of running applications in a cloud computing system
KR101455229B1 (ko) 중계 서버 및 중계 통신 시스템
CN110012118B (zh) 一种提供网络地址转换nat服务的方法及控制器
CN112333017A (zh) 一种服务配置方法、装置、设备及存储介质
JP5813534B2 (ja) 仮想マシンにアドレスを割り当てるプログラム、方法及び物理サーバ
EP3374861A1 (en) Scalable addressing mechanism for virtual machines
JP7460564B2 (ja) コンテナ環境構築システム、方法およびプログラム
EP3439238A1 (en) Architecture, method and apparatus for realizing network function communication
US11736591B2 (en) Method for operating a distributed application
KR20170047747A (ko) 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치
US11362963B2 (en) Method for managing allocation requests to allocate a computing resource
CN116599900A (zh) 云环境访问方法及装置
CN117278395A (zh) 一种容器云平台环境下的网络配置方法和服务器
CN115842825A (zh) 云服务平台、云服务部署方法及装置
CN115550316A (zh) 容器化网络系统、容器化ipv6通信方法及装置、介质、设备
JP2013141060A (ja) 中継サーバ及び中継通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240321

R150 Certificate of patent or registration of utility model

Ref document number: 7460564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150