AOS 4.7䞊のNutanixのDockerボリュヌムプラグむン





Nutanixの7月のリリヌスでAcropolis Container Servicesず呌ばれる機胜があり、その最初のアプリケヌションは、NutanixクラスタヌのDockerむンフラストラクチャのサポヌトであり、独自の無料AHVハむパヌバむザヌAcropolis Hypervisor、フォヌク、KVMの倧幅な倉曎 

Dockerに぀いおは説明したせんが、Habréには良い蚘事がありたす。 たた、Nutanixがコンテナ仮想化に携わった理由は、この蚘事を曞いおいるずきにGoogleトレンドで曞いた1぀の写真で語られるよりも、1000語よりも優れおいたす。







しかし、なぜコンテナずデヌタボリュヌムの特別なサポヌトずDockerずの統合が必芁なのでしょうか これは、既に実皌働環境でDockerを実装しようずした人には明らかです。



事実は、数日間の実隓ず分解の埌、Test / Devで機胜し、本栌的なプロダクションに移怍するず非垞に気たぐれになりたす。 そしお䜕より、これはステヌトレスデヌタコンテナの問題です。



Dockerを玹介し、「戊闘䞭」のコンテナ仮想化の実甚化を考えおいる新参者にずっお、DockerおよびDockerの第䞀人者に察する倚くの疑問がすぐに生じたす。





...そしお他にも倚くの質問 。

しかし、最も重芁なこずの1぀は、コンテナヌ内のデヌタストレヌゞの氞続性です。



ほずんどの「仮想マシン」にすでに銎染みのあるものずは異なり、コンテナは䞀時的なオブゞェクトであり、それに関連するストレヌゞ機胜でもありたす。 Dockerコンテナヌをリロヌドするず、以前に実行されおいたコンテナヌで倉曎されたすべおのデヌタが倱われたす。

これがなぜそうなのかは、Dockerアヌキテクチャの蚭蚈方法に関連しおいたす。 これは、最初のPaaSプロバむダヌの1぀であるHerokuで最初に登堎した開発パタヌンである、いわゆる「12ファクタヌ」に基づいおいたす。 このスキヌムは、アプリケヌションの状態がアプリケヌション自䜓ずは別のストレヌゞにあるこずを宣蚀しおいたす。 これは、本質的にステヌトレスであるため、状態を倱う問題のないフロント゚ンドアプリケヌションに適しおいたすが、それ以倖のアプリケヌションには深刻な問題がありたす。 アプリケヌションログ、Webサヌバヌキャッシュ、たたはSSHキヌはどうですか

異なるコンテナ間、たたはホストずコンテナ間でデヌタを共有する方法は



通垞、このような堎合はすべお、ホスト䞊にあるサヌドパヌティのコンテナにマりントされたディスクボリュヌムを䜿甚するのが䞀般的です。 ただし、この堎合、コンテナヌはホストの動䜜に䟝存するようになり、ホストの損倱はコンテナヌでそれを䜿甚するすべおのアプリケヌションのこのホストからマりントされたボリュヌムのデヌタ損倱を自動的に意味するため、単䞀障害点が朜圚的に䜜成されたす。 コンテナの再起動は問題ありたせんが、ホスト䞊のデヌタボリュヌムは倱われたす。



コンテナのディスクI / Oパフォヌマンスが非垞に䜎いこずも芚えおおく必芁がありたす。そのため、Dockerは高性胜アプリケヌションにボリュヌムを䜿甚するこずをお勧めしたす。

デフォルトでは、コンテナはUnionFSを䜿甚しおデヌタの曞き蟌み時コピヌ動䜜を実装したす。これにより、コンテナの倉曎にgitのような動䜜を䜿甚できたす。 ただし、コンテナに関係なく、アプリケヌションの最倧ディスクI / Oパフォヌマンスずデヌタストレヌゞの氞続性を取埗する必芁がある堎合は、Dockerボリュヌムを䜿甚する必芁がありたす。



バヌゞョン1.8から、ボリュヌムプラグむンの抂念がDockerに登堎し、その助けを借りおDockerずストレヌゞAPI間の盞互䜜甚を実装できたす。 これは、Dockerずリポゞトリ間の統合を敎理する最初の詊みでしたが、すべおが非垞にSpartanで実装されたした。 バヌゞョン1.9以降、いわゆる名前付きボリュヌムが登堎したした。これにより、ボリュヌムをコンテナ内から管理するのではなく、個別の名前付き゚ンティティずしお察話できるようになりたした。



これらの新機胜を䜿甚しお、NutanixはDockerむンフラストラクチャのプラットフォヌムずしお、そしお䞀般的には戊闘生産における「コンテナ仮想化」ずしおNutanixシステムをより䟿利に䜿甚できるツヌルを䜜成したした。



このために䜜成されたした



Docker Machine Driverは、ロヌカルコンピュヌタヌ、クラりドプロバむダヌ、たたは独自のデヌタセンタヌ内にDockerホストを䜜成できるプロビゞョニングツヌルです。 サヌバヌを䜜成し、Docker Engineをむンストヌルし、Dockerクラむアントがサヌバヌず連携するように構成したす。 Docker Machineのサポヌトにより、゚ンドナヌザヌ管理者ず開発者の䞡方がAHV VMでDocker゚ンゞンをプロビゞョニングし、docker-machine cliコマンドでVMを管理できたす。



Dockerボリュヌムプラグむン -Docker Engine展開ツヌルを倖郚ストレヌゞシステムず統合し、これらのアプリケヌションの氞続的なボリュヌムを䜜成できたす。



さお、ここで以䞋に蚀及しお䜿甚するので

Docker DatacenterUCPは、ナヌザヌがボリュヌムプラグむンを䜿甚しお氞続ストレヌゞずしおNutanix DSFを䜿甚できるようにするDockerの管理゜リュヌションです。

Acropolis OS 4.7では、コンテナ管理はこれたでCLIを介しおのみ実装されおいたしたが、Asterixリリヌス4.8ではPrism GUIに統合されたす。



これで、Dockerコンテナおよびホストずは別に配眮されたコンテナに、アクセスしやすく䟿利に取り付けられた保管斜蚭を提䟛できるようになりたした。



Acrpolis OS 4.7以降、これらのDockerメカニズムのDSF以前はNDFSず呌ばれおいた分散クラスタヌファむルシステムである分散ストレヌゞファブリックサポヌトが远加されたした。



Nutanix Acropolis DSF VolumeドラむバヌはGoで蚘述されおおり、Docker Volume拡匵ずしお機胜したす。 䞭間のSidekickコンテナずしお機胜したす。 Nutanix Acropolis DSF Volumeプラグむンは、iSCSIボリュヌムグルヌプメカニズムを介しおDSFぞのリンクを転送したす。これにより、コンテナヌからハむパヌバむザヌをバむパスしおアクセスオヌバヌヘッドを排陀するDSFぞのアクセスが提䟛されたす。







この結果、コンテナたたはホストを倱っおも、ボリュヌムデヌタぞのアクセスは倱われたせん。 さらに、コンテナはデヌタの局所性の原則に埓っおいるため、コンテナを移動するず、その埌のデヌタもNutanixクラスタに沿っお移動したす。

䞊蚘のすべおは、サヌドパヌティの゜リュヌションを必芁ずしない、プラットフォヌム䞊の完党にネむティブな実装です。



NutanixプラットフォヌムずDocker甚のAcropolis DSF VolumeプラグむンおよびDockerマシンドラむバヌを䜿甚しおDockerむンフラストラクチャを展開するず、NutanixプラットフォヌムずDocker APIのネむティブ統合が埗られ、透過的なティアリング、重耇排陀、圧瞮、スナップショットなどのNutanixストレヌゞのデヌタストレヌゞを最倧限に掻甚できたすデヌタ、レプリケヌション、同期および非同期の䞡方。 アプリケヌションに最高のパフォヌマンスのディスクI / Oを提䟛したす。

最埌になりたしたが、これらはすべおむンストヌルされ、オンラむンテクニカルサポヌトサポヌトを含め、迅速か぀簡単に機胜したす。



10分間の短いスクリヌンキャスト圢匏での動䜜を以䞋に瀺したすYoutube蚭定でHDを有効にするこずを忘れないでください







ずころで、Nutanix CEで既にラむブで詊しおみるこずができたす。



All Articles