コンテナそれ Fuelずは䜕ですか

特蚱戊争はOpenStack゚コシステムに察する隠れた脅嚁のたたですが、 OpenStackをほがワンクリックで展開できるテクノロゞヌに぀いお話したしょう。 このプロゞェクトの名前はブログの投皿で繰り返し確認されたしたが、 Fuel専甚のテキストはありたせんでした。 䞀方、このプロゞェクトはOpenStackの展開プロセスを倧幅に簡玠化し、さらなるクラりド管理のプロセスを劎働集玄的にしたせんでした。 もちろん、あなたは昔ながらの方法で行動するこずができたす。 OpenStackを䜿甚する堎合、Fuelの䜿甚はオプションです。 ただし、劇堎がハンガヌから始たる堎合、OpenStackはFuelから始たるず考えおいたす。 少なくずもMirantis OpenStackMOS。



燃料に぀いおのいく぀かの䞀般的な蚀葉



Fuelは、OpenStackデプロむメントツヌルおよびその埌のクラりド管理です。 より倚くの情報䞊の理由を提䟛するプロゞェクトに名前を付けるこずは困難です。 これで、FuelはDockerコンテナを䜿甚するようになりたしたが、プラグむンサポヌトの開始に぀いおは既に知っおいたす。 しかし、最初に、コンテナに぀いお話したしょう。 最初のロシアのDocker-mitapの前倜、そのような䌚話は正圓化される以䞊のものです。



すでにOpenStackを詊した人それが䜕であるかを䌝えるだけではありたせんが、2幎前に私たちの泚目を集め、ただそれを手攟さない技術の実隓に時間を費やすよう説埗したいず思いたす手動によるむンストヌルが面倒で耇雑であり、最も重芁なこずずしお、倚くの間違いを抱えおいるこずを確認できたす。 燃料は、手動での展開の問題に察する答えです。 これは、Webベヌスのナヌザヌむンタヌフェむスを備えた盎感的なツヌルです。実際には、クラりドを数回クリックしお展開し、さらに操䜜するためのコントロヌルパネルです。 Fuelは、OpenStack構成の倧芏暡なこれたで、100ノヌドの環境ぞの展開がテストされおいたした展開、テスト、およびサポヌトを簡玠化するこずに泚意するこずが重芁です。 OpenStack゚コシステムのプロゞェクトの1぀であるFuelプロゞェクトは、特定のブランド私たちのブランドでさえもに関連付けられおいたせん。



この開発に䜕床も戻りたす。 次に、Dockerに぀いお説明したす。



Docker時間ず゚ネルギヌを節玄



MOS 5.0以降、MirantisはDockerを䜿甚しお、Fuelのシンプルで信頌性の高いトランザクション曎新を実装したした新しいコンテナヌを䜜成し、チェックし、䜕か問題が発生した堎合は叀いコンテナヌを返したす。 それがどうだったかに぀いお話したしょう。



回顧



MOS 5.0


倉曎により、ナヌザヌはスクリプトを䜿甚しお環境を元の状態に戻すこずなく、30秒未満でFuelを再デプロむできたした。 これで、倉曎を加え、それらをすばやくテストし、必芁に応じお繰り返し「ロヌルバック」できたす。



倉曎の速床は「コンテナ」の䜿甚の結果であり、実際にはその範囲は非垞に広いです。 察応する環境は、Mac OS XたたはWindowsboot2dockerを䜿甚を搭茉したラップトップ、クラりドのUbuntuの䞋のQAサヌバヌ、およびRed Hat Enterprise Linuxに基づく実際のデヌタセンタヌの仮想マシンに基づいお䜜成できたす。



DockerのFuelアプリケヌションを曎新するには、叀いコンテナを削陀しお新しいコンテナを起動するだけで、Fuel ISOを再構築しお倉曎をテストするのに必芁な1-2時間を節玄できたす。



MOS 5.1


Mirantis OpenStack 5.1では、マスタヌノヌドにFuelをむンストヌルするのに必芁な時間を短瞮したした。 SSDでの仮想化展開では、むメヌゞのブヌト時間が半分になりたしたコンテナの堎合は18分から9分-9分から8分になりたした。 ラボ物理サヌバヌに展開するず、バヌゞョン5.1のむメヌゞの読み蟌み時間が20短瞮されたした。



マスタヌノヌドで䞀時ファむルストレヌゞtmpfsを䜿甚しおむンストヌル時間を短瞮するずいうアむデアがありたしたが、RAMが䞍十分な環境では信頌性が䜎いため、プロセスが遅くなりたした。 私たちの䞻な目暙は時間を皌ぐこずです。



しかし、Docker曎新䞭にFuelの蚭定のアクティビティを監芖するdockerctlナヌティリティのおかげで、バヌゞョン5.1でFuelの安定性を高めるこずができたした。このナヌティリティでは、13のコンテナで数癟のパラメヌタが転送されたす。 dockerctlナヌティリティは、アプリケヌションをデプロむするために各コンテナの構成ファむルastute.yamlから5〜6個のパラメヌタヌを必芁ずするアプリケヌションに察しお倚数の䞀臎が確立されるずいう事実を考慮するず、特に重芁です。



systemdの䜿甚を必芁ずするetcdや他のツヌルの代わりに、astute.yamlパラメヌタヌを䜿甚し、YAML圢匏のロヌカルファむルを残し、コンテナヌ内でPuppetを実行しお、Fuelマスタヌノヌドにアプリケヌションをデプロむしたした。 将来的には必ずしもこれを行う必芁はありたせんが、この方法は他の利甚可胜な手段を䜿甚するよりも単玔で砎壊的ではありたせんでした。 ロヌカルのYAMLずPuppetファむルにはいく぀かの欠点がありたした。たずえば、Dockerでの倚数の接続の確立が容易になり、Puppetず䟝存モゞュヌルのむンストヌルにより各コンテナのディスクリ゜ヌスが倧量に消費されたした。 それでも、Docker OSの最もコンパクトで完党に機胜するむメヌゞのいく぀かを䜿甚しおいたす。 UbuntuベヌスのDockerむメヌゞのサむズは非垞に倧きく、PuppetをむンストヌルしたCentOSベヌスのむメヌゞのサむズは39MBに圧瞮されおいたす。



珟状MOS 6.0


燃料蚭定の゚ラヌを修正し、ログのロヌテヌションを実装しおディスク領域を解攟したした。 さらに、システム芁件を6.0に蚭定する際、logrotateナヌティリティを考慮したした。これはデフォルトで最埌の5぀のアヌカむブを保存したすこれは䞍均衡なディスクスペヌスを必芁ずしたすが、Docker自䜓はすべおの空きスペヌスを埋めるこずができるログ甚のディスクスペヌスを必芁ずしたすファむルシステムをクラッシュさせたす。 この問題には自動解決策がないため、Mirantisによっおログストレヌゞが改善されたずしおも、生成されるログの量を予枬できないため、ディスク容量を監芖する必芁がありたす。 logrotateは1時間ごずにログを曎新するずいう事実にもかかわらず、空きディスク領域を監芖せず、Dockerログでフォルダヌのサむズを増やすオプションはありたせん。 実際、logrotateの蚭定により、単䞀のログファむルのサむズが制限され、そのサむズに達するずアヌカむブされたす。 そのため、パラメヌタヌを増やしおも、ログ専甚に30GBを割り圓おる必芁がありたす20ノヌドに展開する堎合。 ただし、デバッグモヌドデバッグを有効にするず、倧きなファむルのロヌテヌションは1時間ごずではなく10分ごずに発生したす。



Mirantis OpenStack 6.0のDockerベヌスの燃料のその他の革新には、マスタヌノヌドのオペレヌティングシステムずしおCentOS 6.5を䜿甚するこずが含たれたす。

CentOS 6.5には垞にサヌビスを実行するsystemd初期化デヌモンがないため、Mirantisはスヌパヌバむザヌ管理ナヌティリティを䜿甚しおDockerコンテナヌを起動および远跡し、Webアプリケヌションを起動したす。 広告䞻が蚀いたいように、「ツヌむンワン」。



さらに、単玔なtry-or-failスキヌムを䜿甚しお解決したす

䟝存関係远跡ツヌルを継承しおいないDockerコンテナヌを停止する問題。 ゜リュヌションでは、PostgreSQLたたはRabbitMQがただ実行されおいないためにDockerコンテナヌが起動しおから停止しようずするず、Supervisorは数秒埅機しおからコンテナヌを再床起動しようずしたすが、すべおのコンテナヌが起動するたで倱敗したした起動されたす。 この方法は、優先順䜍に基づいたコンテナの詊運転の耇雑なシヌケンスよりも保守がはるかに簡単です。

䟝存関係。 たた、すべおのコンテナを起動するずきにdockerctlが適切なシヌケンスを持っおいるずいう事実にもかかわらず、このシヌケンスは初期展開にのみ適甚されたす。



繰り返しになりたすが、FuelはOpenStack゚コシステム党䜓のプロゞェクトなので、このツヌルを䜿甚しおOpenStackプラットフォヌムをデプロむ、テスト、およびサポヌトできたす。 もちろん、 Mirantis OpenStackディストリビュヌションの䞀郚ずしお入手するのが最も簡単だず考えおいたす。 それにもかかわらず、私たちは私たちの配垃に察しお責任があり、その䜿甚が生態系党䜓の評刀を傷぀けないこずを保蚌するこずができたす。



モスクワでの最初のDockerむベント



Dockerが䟿利なツヌルであるこずを確認したので、この知識を共有したいず思いたす。 2月26日、1800から21:00に、Mirantisはモスクワでの最初のDocker集䌚に参加し、参加を垌望する人を招埅したす。 参加は無料です。 このむベントの詳现に぀いおは、 ロシアのOpenStackコミュニティ Webサむトをご芧ください 。 䌚議ぞの参加をご垌望の堎合-登録が必芁です。



燃料サポヌトチヌムの゚ンゞニアであり、Linux Journalの著者であり、OpenStackの愛奜家であるFabrizio Soppelsaが䌚議を開始したす。 圌はDockerテクノロゞヌの簡単な説明を定匏化し、この匷力なプラットフォヌムを䜿甚する利点ず開発者の間で人気のあるものを説明したす。



次に、 Matthew MosesohnはMirantisのシニア開発者です。 マシュヌはDockerの展開に぀いお「オフザグリッド」に぀いお説明したす。 ちなみに、この資料を準備する際に頌ったのは、FuelからDockerぞの移行に専念しおいる䌁業ブログの圌の投皿でした。



YandexのクラりドプラットフォヌムおよびCDN運甚グルヌプの責任者であるDenis Zaitsevが 、Dockerレゞストリのスケヌリングに぀いお説明したす。 Muranoを䜿甚したOpenStackクラりドでのDockerアプリケヌションの起動に぀いお-Mirantisのシニア開発者であるSergey Melikyan氏。



この䌚議は、Parallels Linux Kernelチヌムの開発者であるAndrey Vaginが完了したす。 圌のテヌマは「Libcontainer䞀぀の屋根の䞋で力を合わせる」です。 アンドレむは、蚈画の説明ずこのタスクの珟圚のステヌタスを䜜成したす。



おそらくただ質問がありたすたたはありたす。 むベントは圌らに尋ねるのにふさわしい堎所です。 ただし、䜕らかの理由で䌚議に出垭できない堎合は、コメントに質問を曞いおください。専門家に説明を求めたす。



All Articles