Linuxコンテナ開発者会議

画像 今年、 OpenVZプロジェクトは10周年を迎えます。 ファッショナブルではない場合でも、Linux OSの分離環境の技術を開発しました。 9月19日、私たちはOpenVZコミュニティの人々、私たちのテクノロジーとLinuxコンテナを一般的に使用する人々の最初の会議を集めています。 OpenVZのユーザーと開発者のレポートを聞き、質問をし、休憩中にチャットします。







Parallels / Odinは講演者を称え、OpenVZおよびCRIUプロジェクトの開発者であるPavel Emelyanovは 、コンテナの移行に関するレポートを使用してレポートセッションを開きます。 PavelはVirtuozzo / OpenVZでコンテナー移行テクノロジーに関与し、後にCRIUプロジェクトのイニシエーターおよびメンターになったため、既に移行の際に犬を食べていました。 Pavelは、ライブコンテナ移行のすべての長所と短所、CRIUの原則、および新しいサブプロジェクトP.Haul(別名「pihl」)について説明します。



OpenVZには、コンテナメモリ管理技術の独自の実装が長い間ありました。 開発者は、このテクノロジーのいくつかの実装で 火、水、銅のパイプを通過しましたが、RHEL7コアに基づくVirtuozzo 7では、メモリ管理はバニラコアテクノロジーのみに基づいて実装されます。 したがって、OpenVZカーネルのこの部分では、カーネルへのパッチはまったく残りません。 新しいOpenVZメモリ管理テクノロジーの作者であるVladimir Davydovが、これらすべてについて詳しく説明します。



コンテナの使用にはいくつかのパラダイムがあります。ホストOS(LXC、OpenVZ / Virtuozzo)から隔離された本格的なオペレーティングシステムとして使用し、1つのアプリケーション(Docker)の隔離された環境として使用します。 LibCTは、隔離された環境を作成し、リソースを管理できるライブラリです。 基本的な考え方は、コンテナをアプリケーション層に持ち込むことです。 現在、コンテナ機能の使用は、カーネルインターフェイスの使用の複雑さとユーザーレベルでのリソース管理の不均一性によって妨げられています。 さらに、オペレーティングシステムごとにインターフェイスが異なります。 LibCTは、これらの問題を忘れ、単一のインターフェースを提供するのに役立ちます。 Sasha BurlukaLibCTを開発しているため、このライブラリに関する最も難しい質問にも答えることができます。



ホスティングは、Linuxコンテナの1つのユースケースにすぎません。 コンテナにより、DevOpsプロセスの概念が変わり、アプリケーション開発のある段階から別の段階(開発、テスト、段階、本番)にスムーズに移行できるようになり、マイクロサービスアーキテクチャを使用できるようになりました。 これが、多くのクラウドプラットフォームが既にコンテナ技術をアプリケーションの開発と発売のパイプラインに導入している理由です。 DevOpsとコンテナは、ビジネスプランをより効率的に実装するのに役立ちます。 レポートでは、DevOpsとコンテナーの市場における現在の状況を調べます。 また、この分野でよく知られている問題と、コンテナに配置された高負荷の複雑なアプリケーションの問題を解決する方法についても説明します。 Jelastic社のDmitry Lazarenkoが、DevOpsタスクにOpenVZを使用した経験について語ります。



当初、コンテナはホスティング用のテクノロジーとして位置付けられていました。プロバイダーは、異なるユーザーの環境を分離し、料金プランに応じてこれらの環境に異なるパラメーターを設定できる必要があります。 つまり、ホスティングでコンテナを使用するという考え方は新しいものではありません。 OpenVZは、ホスティング事業者の間で当然の人気を誇っています。 しかし、ユーザーを引き付けるためには、ホスティング事業者は互いに異なっていなければなりません。 Rusonixは、Runetのホスティング市場で最も古い企業の1つであり、OpenVZを選択した企業です。 Konstantin Anisimov (RusonixのCEO)は、彼らがVirtuozzoを選んだ理由と、コンテナーテクノロジーの使用がホスティングプロバイダーに与える利点について説明します。



CloudLinuxは、共有ホスティング(LVE(軽量仮想環境)、CageFS)用の独自の機能を備えたLinuxディストリビューションです。 Ruslan KupreevはCloudLinuxで動作し、同時にCRIU(チェックポイントとユーザー空間での復元)の開発者でもあります。 同社では、Apache mod_lsapi WebサーバーモジュールでCRIUを使用して、PHPの起動を高速化します。 どのように動作し、RuslanのレポートからPHPの起動がどれだけ速くなるかを学びます。



コンテナ管理のアプローチがブームになり、Dockerが市場に登場した後、ホスティングユーザーはDockerコンテナを通常のVPSで実行できるようにしたいと考えていました。 OpenVZはそのような機会を提供します。 Pavel Tikhomirovが、Virtuozzoコンテナー内でDockerを使用する方法、VirtuozzoとDockerのコンテナーへのアプローチの違い、それらの長所と短所、およびそれらを組み合わせることが有用な理由について説明します。 さらに、いくつかの技術ソリューション、VirtuozzoでのDockerの使用例、および現在の計画についても検討します。



既存の仮想化ソリューションのほとんどは、仮想ディスク(ブロックデバイス)を使用しています。 このようなディスクの最も重要な特性は「シンプロビジョニング」です(必要な場合にのみスペースを割り当てる機能)。 ただし、このプロパティの重大なマイナス点は、動作中のディスク上のデータの「スミアリング」です。 実際に使用されるデータの量が一定であっても、ディスクイメージのサイズは常に増加しています。 その結果、割り当てられた仮想ディスクにブロックが蓄積されますが、ファイルシステムでは使用されません。 Dmitry Monakhovは、VirtuozzoとCRIUのプロジェクトチームがLKMLと共にこの問題を解決する方法と、既存のメカニズムでは不十分な理由を説明します。



会議への参加は無料ですが、 登録する必要があります。



何らかの理由で参加できない場合、Yandexが投稿することを約束したパフォーマンスの記録を見ることができます。



All Articles