UNetLab 1.0.0-12。 DockerおよびDynamicノード接続との統合

画像



こんにちは同僚。 UNetLabの開発については引き続き説明します。 以前の投稿で、私はUNetLab 1.0の新しいバージョンについて話し、ビデオコースの開始を発表しました。 しかし、時間が経つにつれて、開発者は別の重要なアップデート-UNetLab 1.0.0-12をリリースしました 。 この記事で説明する主な革新:

1)動的ノード接続

2)Dockerとの統合



このトピックに興味がある場合は、catにようこそ。



動的ノード接続



すべてのUNetLabユーザーが待ち望んでいた機能。 最後に、マウスを1回クリックするだけでノードを動的に接続することが可能になりました(ビデオレッスンでは、プロセス自体を以下に示します)。



画像



これで、ネットワークを手動で作成する必要がなくなりました。 そのため、UNetLabでトポロジーを作成することは、GNS3と同じくらい便利になりました。



アップグレードをまだ管理していない場合、これは単純に行われます:



apt-get update

apt-get unetlabをインストール



Docker統合



一般的に言えば、UNLでのDockerの実装は依然として湿気があり、真剣に改善する必要がありますが、このトピックについては触れずにはいられません。 彼女はとても重要です。 私の知る限り、GNS3の新しいバージョンでもDockerがサポートされています。 この技術には大きな可能性があります。



しかし、始める前に、Docker自体について最初に話すのは非常に理にかなっていると思います。 これは何? 質問は簡単ではありませんが、私はいつものように、できるだけ簡単に説明しようとします。 表面的かつ一般的なフレーズで説明します。 このコースは仮想化に関するものではなく、私自身もこの分野の専門家とは考えていません。



そのため、今日では3つの主要なタイプの仮想化があります。



1)完全な(ハードウェア)仮想化</ 4>

画像



このタイプの仮想化は、VirtualBox、VMware、KVM、QEMUなどで使用されます。 ポイントは、すべてのハードウェアでコンピューターを完全にエミュレートすることです。 この場合、ハイパーバイザーは仮想マシン間でハードウェアを配布します。 そして、これらの仮想マシンにはすでに、本格的な物理コンピューターのように、オペレーティングシステムがインストールされています。 仮想マシンは互いに完全に分離されています。 ハードウェア仮想化は、プロセッサでサポートされている必要があります。 多くの場合、すでにこの機能がBIOSに含まれています。 これは、Intel VT(VT-x)またはAMD-Vのいずれかです。



2)オペレーティングシステムレベルの仮想化



画像



このタイプの仮想化は、OpenVZ、LXCなどで使用されます。 この場合、ハードウェアエミュレーションは使用されなくなりました。 元のオペレーティングシステムのほとんどのプロセスの一種のコピーを作成します。 これらのプロセスは、別のコンテナーに分離されています(そのため、コンテナー仮想化)。 同時に、コンテナには、アプリケーションをインストールできるほぼ完全なオペレーティングシステムが用意されています。 このアプローチにより、完全仮想化よりもパフォーマンスが向上します。 ハードウェアをエミュレートする必要はありません。 一般的に、このタイプまたはそのタイプの仮想化を使用することには多くの利点と欠点がありますが、私たちのレッスンはそれについてではありません。



3)アプリケーションの仮想化



画像



これはすでに高度な抽象化であり、システムリソースをさらに節約できます。 たとえば、個別のデータベースだけが必要な場合に、オペレーティングシステム全体を仮想化するのはなぜですか? または別のWebサーバーですか? Dockerはこの問題を解決します。 これにより、元のオペレーティングシステムのすべてのプロセスのコピーではなく、個別のアプリケーションのコピーを作成して、コンテナーに分離できます。 これは、開発およびテストするときに非常に便利です。 同時に、OpenVZやLXCと同様に、Dockerはオペレーティングシステムを仮想化することもできます。



Dockerについて詳しく知りたい場合は、このリソースを使用できます。



簡単に言って、何かがあります。 すべてを非常に表面的に説明したことを繰り返します。 ネットワークの仮想化やストレージの仮想化などには触れませんでした。 一般的に、仮想化は非常に興味深く、広範囲にわたるトピックです。 自由な時間がある場合は、可能であればこの方向で勉強してください。 今日の仮想化なしではどこにもありません!



その間、ドッカーに移ります。 「QEMUとVMwareの形式の外部仮想マシンと同じVPCがあるのに、なぜdockerが必要なのか」と尋ねられるかもしれません。私は答えようとします。



QEMUまたはVMwareの形で仮想マシンを使用する場合、それらはすべての人に適していますが、リソース(メモリ、プロセッサ、ハードディスク)を大量に消費します。



何も消費しないVPCSがあるように思われます。 ただし、機能が非常に劣っています。 telnetまたはsshクライアント、tcpdump、nslookup、およびその他の多くの便利な機能はありません。 つまり 現在、私たちは多くのリソースを費やしているか、機能性の問題を抱えています。 Dockerは、問題の解決に専念しています。 Dockerを使用すると、RAMとハードドライブの両方で、かなり控えめなパラメーターでほぼ本格的なLinuxライクシステムを実行できます。 同時に、さまざまなディストリビューションまたはアプリケーションを備えた既製のコンテナの膨大な選択があります。



このレッスンでは、Dockerの最小のコンテナの1つであるBusyBoxの操作について説明します。 これは何ですか、 ここで読むことができます 。 要するに、これは非常に小さなディストリビューションであり、非常に小さなシステム要件です。 さあ、始めましょう。



最初に、unetlabサーバーにdockerをインストールする必要があります。 デフォルトでは存在しません。 詳細な手順については、UNLの公式Webサイトのhowtoセクションをご覧ください 。 ここにこの情報を複製する理由はありません。



インストール後、unetlab Webインターフェースにアクセスできます。 ちなみに、コンテナへの接続には特別なdockerユーティリティが使用されます。 C:\ Program Files \ UNetLabフォルダーに必要なファイルがあることを確認してください: docker.exe、docker_wrapperおよびwin7_64bit_docker 。 そうでない場合は、新しいWindows Integration Packをインストールする必要があります



この非常に小さなディストリビューションはどのような機能を提供しますか? 実際には非常に豊富です。 busyboxでは、以下にアクセスできます。



-クライアントおよびTelnetサーバー

-クライアントとtftpサーバー

-クライアントとFTPサーバー

-HTTPサーバー

-DNSサーバー

-NTPサーバー

-次のようなユーティリティ:

-ifconfig

-ipルート

-traceroute

-arp

-nslookup

-netstat



それでは、簡単なスキームをまとめて、利用可能な機能を使用しましょう。 研究所での作業で、DHCP、HTTP、DNS、FTP、Telnetなどのサービスをテストする必要があるとします。 Dockerでできることはこれだけです! 設定には、次のビルトインBusyBoxサービスを使用します。



udhcpd-DHCPサーバー用

httpd-WEBサーバー用

dnsd-DNSサーバー用

ftpd-FTPサーバー用

telnetd-telnetサーバー用



このレッスンでは、セットアッププロセス全体を見ることができます(10分から見る)。







したがって、Telnetサーバー、HTTPサーバー、DHCP、FTP、およびDNSサーバーを1つのコンテナーに上げました。そのイメージの重量はわずか1 MBです! 印象的でしょ? そして、1つの画像だけを調べ、その中にはさまざまなソフトウェアを含む膨大な数の画像を調べました。 さらに、必要なユーティリティのセットを使用して独自のイメージを簡単に組み立てることができます。 私たちのレッスンはこれについてではありませんが、興味がある場合は、この機会を必ず探ってください。



私は上記を要約します:UNetLabはそのダイナミックな開発を続け、学習のためのますます機能的で便利なツールになりつつあると言っても安全です。



All Articles