EFLOWを使用してWindowsPCおよびサーバーでLinuxエッジアプリケーションを実行する

WindowsシステムでLinuxコードを実行する公式の方法はWSLだけではありません。 Linux onWindowsでAzureIoTEdgeを活用する方法をご覧ください。

“href =” https://www.techrepublic.com/a/hub/i/r/2021/12/11/950c51f1-6e81-4c06-aa01-1088fe25ebc7 / resize /770x / 7b266e1bb9f1404e3b9e5b69de33e08f / shutdownstock-735977854。jpg “target =” _空白 “>shutterstock-735977854.jpg

画像:Shutterstock / TippaPatt

Microsoftは、エッジが次のようになっていることをしばらくの間明確にしてきました。クラウドとして重要なのは、CEOのSatya Nadellaが定期的に「インテリジェントクラウドとインテリジェントエッジ」について話していることです。その焦点の多くは、さまざまな形でAzureをそのエッジに導くことにあります。その一部は、Azure IoT Edgeの一部としてのLinuxコンテナーとデバイスのサポートです。

データを処理および管理するためのツールであるLinuxベースのエッジコードがたくさんあるので、再利用するのは理にかなっていますそれはあなた自身のハードウェア上にあります。 Microsoftは、コンテナーを主要な展開モデルとして、ハードウェア上でWindowsとLinuxの両方のコードを簡単に操作できるようにしました。ただし、問題が1つあります。Linux用のWindowsサブシステムは、数か月、さらには数年も実行する必要のあるアプリケーションに使用することを目的としていません。

その目的だけを目的とした代替手段であるEFLOWがリリースされました。 。

参照:オープンソースインデックスとGitHubプロジェクトのチェックリスト(TechRepublic Premium)のガイド

EFLOWを理解する

EFLOWはAzureIoTのWindows上のLinux用のEdge。 WSLと同様に、DockerがWindows上のLinuxコンテナーで導入した概念に基づいており、LinuxKitの最小限のカーネルとユーザーランドを備えています。ただし、ここでは、EFLOWはMicrosoft独自のCBL-Mariner Linuxディストリビューションを使用しています。これは、Microsoftにとってますます重要なツールです。 CBL-Marinerの「CBL」はCommonBase Linuxの略で、独自のアプリケーション用のMicrosoftの標準Linuxであり、Azure Linuxコンテナーのコンテナーホストとして使用されるほか、WSLgでLinuxグラフィックスアプリを配信するために使用されるツールをホストします。 EFLOWは、Dockerのmoby-engineを使用して構築され、アプリケーションコンテナーをホストおよび実行します。

その結果、EFLOWとWSLには類似点がありますが、2つの実装は、非常に異なるユースケースと非常に異なるモード向けに設計されています。展開と運用のWSLは、Linuxコードをビルドしてテストする(およびユーザーアプリケーションを実行する)場所と考えるのがおそらく最善ですが、EFLOWは、コンテナーで実行されるAzure IoTEdgeモジュールの特定のデプロイターゲットです。これは非常に実稼働プラットフォームであり、Microsoftが「キュレートされたLinux」と呼んでいるもので、数か月または数年も実行されるコードを対象としています。

“href =” https:// www .techrepublic.com / a / hub / i / r /2021/ 12/11/37862fab- 5c2e-4d1c-be5a-a248776e14e1 / resize / 324x / 9b68b12e84ec9fa2e87d19ae58a324b6 / edge-linux.jpg “target =” _ blank “>edge-linux.jpg

画像:Microsoft

2つのWindows Linuxアプローチが共通のアプローチを共有しているため、WSLを使用できます。開発環境として、VisualStudioリモーティングを使用して使い慣れたWindows開発ツールを使用します。コードを使用する準備ができたら、Azure IoT Edgeコンテナーにパッケージ化し、EFLOWにデプロイするだけです。

セットアップEFLOW

EFLOWは、Windows環境のサブセットで実行するように設計されており、Windowsをサポートしています10 と 11 プロおよびEnterprise、およびIoT Enterprise、および現在サポートされているWindowsServerビルド。展開の前にHyper-Vを有効にする必要があります。また、Azure Stack HCIなどのプラットフォーム上のVMイメージで実行している場合は、ネストされた仮想化をサポートしていることを確認してください。

デバイスを登録する必要がありますAzure IoTHubを使用します。これは、コンテナの展開とEFLOWPowerShellのインストールを処理します。各デバイスには一意のIDが必要であり、これはAzureCLIまたはAzureポータルを介して管理できます。

EFLOWは、PowerShellを介して展開および管理されます。インストールしたら、Azure EFLOWPowerShellモジュールを使用してEFLOW環境を管理する必要があります。 Microsoftは、MSIをインストールするための一連のPowerShellコマンドと、インストールおよび仮想ディスクの場所をカスタマイズするためのオプションを提供しています。コマンドラインの操作はすべての人に役立つとは限らないため、ローカルとリモートの両方の管理対象デバイスで機能するWindows Admin Centerのプレビュー拡張機能を使用できます。

参照:上位のWindows10コマンドを実行します(無料のPDF )(TechRepublic)edge-linux.jpg

MSIがインストールされると、PowerShellモジュールを使用できるようになります。Deploy-Eflowコマンドを使用して環境を作成し、メモリとディスクサイズを構成します。 PowerShellを使用してHyper-VVMを展開したことがある場合は、CPU、メモリ、ストレージ、およびネットワークを構成するこのアプローチに慣れているはずです。 GPUサポートを構成することもできます。これにより、EFLOWを使用して機械学習コンテナーをホストすることが簡単になります。これは、GPGPUサポートを利用して推論エンジンに電力を供給することができるためです。繰り返しになりますが、展開と構成の前に、WACを使用してEFLOWを構成および展開し、ターゲットハードウェアを選択して設定を定義するという代替オプションがあります。

EFLOW

インストールすると、EFLOWが使用する仮想ネットワークを構成できます。デフォルトのネットワークと仮想スイッチは単一のアプリケーションには十分ですが、EFLOWと他の仮想マシンとコンテナーがリソースを共有しているより複雑なインストール環境では、アプリケーションを確実に分離するために別々のネットワークとスイッチが必要になります。ネットワークができたら、静的または動的IPアドレスを使用してEFLOWのネットワークエンドポイントを作成できます。

EFLOWを起動して実行すると、管理環境の一部として他のEFLOWPowerShellスクリプトを使用できます。便利なコマンドの1つは、ロットを収集してzipファイルとしてバンドルし、中央のログ分析サーバーに送信できるようにします。他のコマンドは、VMと仮想ネットワークの現在の状態を報告します。次に、接続文字列を設定して、EFLOWインスタンスをクラウドAzure IoT Hubに完全にリンクする必要があります。

EFLOW環境は、SSHを使用して管理することもでき、PowerShellで実行されているSSHクライアントにのみ接続します。ホストマシン。これにより、実行中の環境にログインして、正しく構成されていること、およびCBL-Marinerホスト環境が実行されていることを確認できます。ホストサーバーに直接接続する必要があります。リモートPowerShellまたはWindowsAdmin Centerを介して接続することはできません。

これで、IoT EdgeアプリケーションをビルドしてEFLOWにデプロイし、Azure IoTHubからコンテナーをプッシュする準備が整いました。 Microsoftは、最初のEdgeアプリケーションの構築を簡素化するサンプルコードを備えたGitHubリポジトリを提供しています。エッジでホストされる機械学習アプリケーションの実行などの方法を示しているので、これらを使って時間を費やす価値があります。コードはAzureからデプロイされ、コンテナーはコンテナーレジストリに格納されたモジュールとして扱われます。

コード自体は任意のLinux環境で開発でき、EFLOWとWSLは多くの共通機能を共有するため、設計とテスト。ローカルのEFLOW環境でコードを実行し、プライベートレジストリに公開する前に、Ubuntuなどのより完全な機能を備えたディストリビューションを使用してコンテナーを構築およびテストすることをお勧めします。

EFLOWを使用すると、Linux用の既存のWindowsエッジハードウェアを使用できます。他のすべてのコードと一緒に実行されるエッジアプリケーション。 Windows IoTは、EFLOWとともに長いサポートサイクルを提供するため、制御アプリケーションから大規模なエッジ機械学習まで、2つの異なるプラットフォームの最良のものを組み合わせて組み合わせるハイブリッドシステムとアプライアンスを構築するための優れた方法です。

EFLOWを使用する人にとっての大きな価値は、もちろんサポートです。これはWindowsIoTプラットフォームの一部であるため、完全なWindowsIoTサポートライフサイクルを取得します。これは、ほとんどの長期サポートLinuxディストリビューションで得られるよりも長く、産業用アプライアンスのような環境でLinuxコードを実行する必要がある人にとって魅力的です。

http://www.techrepublic.com/

Microsoft Weekly Newsletter

これらのWindowsおよびOfficeのヒント、トリック、およびチートシートを読んで、会社のMicrosoftインサイダーになりましょう。月曜日と水曜日に配信

今日サインアップする

関連項目

  • Linuxサービス制御コマンド(TechRepublic Premium)
  • ウィンドウズ 11:インストール、セキュリティなどのヒント(無料のPDF)(TechRepublic)
  • MicrosoftはLinuxプレビュー用のWindowsサブシステムを追加しますWindowsへ11Microsoft App Store(TechRepublic)
  • Linuxユーザー:これらのテキストベースのファイルマネージャーは見落とされている宝石です(TechRepublic)
  • MicrosoftのAzure Purview(TechRepublic)の使用を開始する方法248776
  • 必読カバレッジ:Windows10(TechRepublic on Flipboard)

Related Articles

Back to top button