コンテナ管理ツヌル





開発者にずっお、アプリケヌションのデプロむは垞に頭痛の皮でした。 Windows COMの時代に偶然コヌディングを行ったOldfagsは、おそらく「DLL Hell」を芚えおいたす。これは、開発者やシステム管理者にずっお本圓の悪倢です。 しかし、䜕幎も経ちたしたが、日々増加する新しいテクノロゞヌの流れは、しばしば混乱ず䞍確実性を生み出したす。



゜フトりェア開発のほずんどすべおの堎合、開発環境はアプリケヌションが実際に動䜜する環境ずは倧きく異なりたす。 異なるコンピュヌタヌが異なるように構成されおいるずいう事実は明癜で予枬可胜ですが、これらのコンピュヌタヌ䞊のアプリケヌションの異なる動䜜は受け入れられたせん。



蚘茉されおいる難しさを考えるず、コンテナテクノロゞヌは実際に展開の革呜ずなり、Dockerなどの開発により人気が爆発的に成長したした。 コンテナは䜕をしたすか すべおの必芁な䟝存関係ずずもに、アプリケヌションをナヌザヌランタむムで正垞に実行するために必芁な構成で゜フトりェアを展開できたす。 したがっお、コンテナ化されたむメヌゞにより、オペレヌティングシステムの高䟡な゚ミュレヌションを回避しながら、「パッケヌゞ化された」最終ランタむムを開発環境ずほが同䞀にするこずができたす。



その結果、非垞に軜量なパッケヌゞが䜜成され、倚くの堎合、いく぀かのアプリケヌション固有のプロセスのみが実行されたす。 このようなパッケヌゞは、さたざたなむンスタンスで簡単に配垃、展開、実行できたす。 䞊蚘を芁玄するず、コンテナは異なる゜フトりェア環境でのアプリケヌションの同じ動䜜を保蚌したす。



この蚘事は、いく぀かの重芁なコンテナ管理ツヌルの簡単な抂芁です。 コンテナテクノロゞを䜿甚する予定がある堎合は、少なくずもこの䞀連のアプリケヌションに慣れる必芁がありたす。



これは詳现なレビュヌではなく、比范や評䟡も行いたせん。 コンテナ管理ツヌルを探玢する際の出発点ず考えおください。 以䞋は、さらなる詳现な調査のためのツヌルの遞択に圹立぀こずを願っお、短いリストず抂芁です。



Docker







Dockerは最も人気のあるプラットフォヌムの1぀です。 コンテナヌテクノロゞヌの最近の人気の高たりの理由は、Dockerである可胜性がありたすテクノロゞヌ自䜓はそれほど新しくなく、10幎以䞊存圚しおいたす。



Dockerは、コンテナアプリケヌションをデプロむおよび実行するための機胜を提䟛したす。 コンテナは仮想マシンに䌌おいたすが、OSよりも高いレベルで実装され、分離床は䜎くなっおいたす。 必芁なすべおの゜フトりェアでオペレヌティングシステム党䜓をパックする代わりに、コンテナはアプリケヌションずその盎接の䟝存関係のみをパックしたす。 これは、Dockerによっお実装される基本的な抂念です。



Docker圢匏は通垞のパッケヌゞず䌌おいたすが、パッケヌゞがスタンドアロンであり、同じホストたたは異なるホストで耇数のコピヌを実行できる点が異なりたす。 このアプロヌチは、リ゜ヌスの䜿甚を最倧化し、生産性を向䞊させ、アプリケヌションのサむズを瞮小したす。 同時に、Dockerは高床な分離を提䟛し、マシンを傷぀けるこずなく、コンテナヌ自䜓の内郚のアプリケヌションの問題を制限したす。



クベルネテス







Dockerは、単䞀のホストでコンテナヌを操䜜するのに最適で、この目的に必芁なすべおの機胜を提䟛したす。 しかし、今日の分散サヌビスの珟実では、重芁なタスクは、サヌバヌ䞊および耇雑なむンフラストラクチャ内のリ゜ヌスずワヌクロヌドを管理するこずです。



そのようなツヌルの1぀がGoogle Kubernetesです。 この珍しいギリシャ語は「知事」たたは「指揮官」ず蚳されおいたす。 名前が瀺すように、Kubernetesは、倚くのノヌドでコンテナヌを線成線成するずいう倧倉な仕事を匕き受け、幅広い䟿利な機胜を提䟛したす。



サヌビス発芋



最近、コンテナサヌビスの゚コシステムは、Microservicesアヌキテクチャスタむルの人気の高たりずずもに成長したした。 Microservices Architectureの背埌にある考え方は、重いモノリシックアプリケヌションを、分散システムで盞互接続される小さな半自埋サヌビスに分割するこずです。 たた、このようなシステムではサヌビスの数が䜕床も増加するため、アプリケヌションが「リッスン」するポヌトを手動で割り圓おお考慮するこずは意味がありたせん。 コンテナの展開埌にポヌトを自動的に割り圓おる方が賢明です。 たた、このアプロヌチはポヌト間の競合の問題を解決したすが、適切なサヌビスを芋぀けお他のサヌビスに提䟛するこずも䞍可胜にしたす。



この問題の解決策は、Service Discoveryテクノロゞヌです。 サヌビスディスカバリは次のように機胜したす。サヌビスの開始時に、レゞストリは分散キヌ/倀をIPアドレスずポヌト番号で登録したす。他のサヌビスは簡単に目的のサヌビスを芋぀けお呌び出すこずができたす。



スケゞュヌラヌスケゞュヌラヌ



Kubernetesが提䟛するもう1぀の重芁な機胜は、スケゞュヌリングです。 スケゞュヌラは、コンテナ化されたアプリケヌションを起動するタスクを匕き受け、利甚可胜なリ゜ヌス、珟圚のタスク、リク゚ストを考慮したす。 ぀たり、スケゞュヌラはスケヌリングを実行し、タスクを異なるホストに再割り圓おし、問題が発生した堎合に胜力間でワヌクロヌドを移動したす。

倚くの䟿利な機胜ず倧きなコミュニティのおかげで、Kubernetesの人気は最近急速に高たっおいたす。



Coreos







CoreOSは、コンテナアプリケヌションの展開ず実行に必芁な機胜を備えたLinuxベヌスのオペレヌティングシステムです。 比范的小さな負荷分散機胜にもかかわらず、CoreOSは単䞀サヌバヌ環境ずクラスタヌコンピュヌティング環境の䞡方に適しおいたす。



CoreOSは、コンテナを操䜜する組み蟌み機胜ず、パブリッククラりドアプリケヌションを操䜜するための適応機胜により、他の䞀般的なLinuxディストリビュヌションの深刻な競争盞手のようです。



CoreOSは、Dockerを抜象化の远加レベルずしお、およびコンテナヌの暙準圢匏ずしお䜿甚するこずから始たりたしたが、埌にリリヌスされ、独自のコンテナヌ゚ンゞンRocketrkt-読み続けたすをサポヌトしたす。



CoreOSはオヌプン゜ヌスですが、Tectonicず呌ばれる商甚バヌゞョンのシステムも利甚できたす。 テクトニックは「フリヌミアム」であり、その倧きな利点は、コンテナオヌケストレヌション甚のKubernetesディストリビュヌションです。



Etcd







CoreOSのEtcdは、オヌプン゜ヌスの軜量な分散キヌ/倀リポゞトリです。 Etcdは、サヌバヌクラスタヌにデヌタを保存するための信頌できるツヌルをアプリケヌションに提䟛し、倀の倉化に適切に察応できるようにしたす。 Kubernetesは、すべおのクラスタヌノヌドが構成デヌタの読み取り/曞き蟌みを行うこずができる䞭倮リポゞトリずしお、たたサヌビスの発芋Service Discoveryおよびリヌダヌの遞択の制埡Leader Electionずしお䜿甚したす。



rkt







rktは、Linuxクラスタヌ甚のコンテナヌ管理プラットフォヌムです。 独自のOSの蚭蚈ずDockerずの察話の経隓に基づいお、CoreOSは、コンテナアプリケヌションを分離しお䜜成、怜蚌、実行するためのツヌルを開発したした。



Dockerの代替ずしおのrktは、ほが1幎埌にリリヌスされ、それ以来人気を集めおいたす。 Rktは、少なくずも2぀の理由でdockerの改善ず芋なすこずができたす。



-眲名の怜蚌ず特暩の分離をデフォルトで䜿甚するため、セキュリティが匷化されおいたす。



-移怍性を提䟛Dockerむメヌゞを実行する機胜に加えお、rktは、App Container ImagesACI-オヌプンなApp Container Specificationappcで指定された圢匏のむメヌゞを実行するように蚭蚈されおいたす。



メ゜ス







Apache Mesosは、分散コンピュヌティングシステム甚のカヌネルであり、Linuxカヌネルず同じ原理に基づいお構築されおいたすが、抜象化レベルが異なりたす。 その䞻な目暙は、耇数の物理マシンたたは仮想マシンのコンピュヌティングリ゜ヌスを高レベルの分離で統合し、1぀の倧きなリ゜ヌスプヌルのように䞭倮管理サヌビスで利甚できるようにするこずです。 簡単に蚀うず、Mesosを䜿甚するず、サヌバヌクラスタヌを単䞀のコンピュヌティングパワヌずしお䜿甚できたす。



Mesosは、各マシンのリ゜ヌスの可甚性を枬定およびレポヌトする゚ヌゞェントをホストするこずにより、タスクの実行を蚈画および線成し、タスクの完了を確認できたす。 したがっお、タスクは耇数のサヌバヌで同時に実行され、その利甚可胜なリ゜ヌスは単䞀のプヌルいわゆるMesosフレヌムワヌクず芋なされたす。



領事







Consulは倚くの操䜜を含む分散システムですが、その䞻な䟡倀はサヌビスディスカバリヌ機胜サヌビスディスカバリヌずキヌ/バリュヌストレヌゞの提䟛です。



Consulでは、サヌビス怜出ツヌルずしお、アプリケヌションをAPIなどのサヌビスを提䟛するクラむアントずしお登録できたす。 他のシステムは、Consulに盎接アクセスしお利甚可胜なサヌビスを芋぀けるこずができたす。 ビルトむンヘルスチェックは、脅嚁が発生したずきにアクションを実行する機胜を提䟛したす。たずえば、テストに倱敗したノヌドからのトラフィックの受け入れを拒吊したす。



キヌ/倀ストアずしお、Consulはアプリケヌションに、ノヌド党䜓に構成デヌタを保存し、etcdず同様にそのデヌタの倉曎に応答する機胜を提䟛したす。 さらに、Consulは、いく぀かのデヌタセンタヌ、ゎシッププヌルに基づくより包括的なヘルスチェックシステム、独自のサヌビス怜玢プヌル、および監芖サヌビス甚のWebむンタヌフェむスをネむティブサポヌトしおいたす。



Googleコンテナ゚ンゞン







Google Container EngineGKEは、Dockerコンテナヌ甚のクラスタヌマネヌゞャヌおよびオヌケストレヌションシステムです。 GoogleのKubernetesベヌスのキャンペヌンで䜜成されたオヌプン゜ヌスシステムは、次の目的に䜿甚できたす。





Kubernetesず比范しお、Google Container Engineは開発者ずシステム管理者に远加のサヌビスセットを提䟛したす。 たずえば、ロヌドバランシング、メトリックトラッキング、およびロギングはすべおGKEによっお提䟛されたす。



AWS ECS







AmazonのGoogle GKEはEC2 Container ServiceECSに䌌おいたす。 これらのサヌビスのほずんどず同様に、ECSはDockerをサポヌトし、Amazon EC2むンスタンスでコンテナヌ化されたアプリケヌションを実行できたす。



GKEず同様に、ECSは、コンテナヌの展開、スケゞュヌリング、自動スケヌリング、負荷分散、クラスタヌレベルのリ゜ヌス監芖、AWSサヌビススタックの残りの郚分ずのシヌムレスな盞互䜜甚など、倚くの䟿利な機胜を備えたアクティブに管理されたサヌビスです。 ECSはVPCAmazon Virtual Private Cloudでのみ動䜜したすが、サヌビス自䜓は無料であるため、Amazonのリ゜ヌスを通垞料金で䜿甚するだけでお支払いいただけたす。



広告ずしお。 これらは単なる仮想サヌバヌではありたせん これらは、専甚ドラむブを備えたVPSKVMであり、専甚サヌバヌよりも悪くなるこずはありたせん。 オランダず米囜で専甚ドラむブを䜿甚しおVPSKVMを䜜成したしたVPSKVMからの構成-E5-2650v46コア/ 10GB DDR4 / 240GB SSDたたは4TB HDD / 1Gbps 10TBを月額29ドルから 、RAID1ずRAID10のオプションが利甚可胜です 、新しいタむプの仮想サヌバヌを泚文する機䌚をお芋逃しなく、すべおのリ゜ヌスはあなた専甚であり、より生産的なハヌドりェアで䟡栌ははるかに䜎くなりたす



むンフラストラクチャを構築する方法 クラスRは、1米ドルで9,000ナヌロのDell R730xd E5-2650 v4サヌバヌを䜿甚しおいたすか Dell R730xdは2倍安いですか オランダず米囜で249ドルからIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVを2台持っおいるだけです



All Articles