Azure Kubernetes Service Edge Essentials | TechRepublic

Azure Kubernetes Service Edge Essentials | TechRepublic
Microsoft Azure ホームページ。Microsoft Azure は、Microsoft が作成したクラウド コンピューティング サービスです。
画像: IB Photography/Adobe Stock

Microsoftの最新Kubernetesエディションは、ネットワークエッジのIoTハードウェアでの使用を目的としています。AKS Edge Essentialsは、Windows 10および11 IoTで動作するように設計されており、EnterpriseおよびProリリース、そしてWindows Server 2019以降でサポートされています。ハードウェア要件は最小限で、シングルボードコンピューターから高耐久性エッジハードウェアまで、あらゆるデバイスをサポートします。必要なのは、対象オペレーティングシステムのいずれかをサポートするハードウェアと、少なくとも4GBのRAMだけです。

AKS Edge Essentials の便利な点の一つは、完全な Kubernetes インスタンスだけでなく、エッジ向けの K3 もサポートしていることです。これにより、他のエッジハードウェアと併用でき、これまでカスタムデバイスを使用していたような小型フォームファクターの Windows IoT ハードウェアも使用できるようになります。ただし、AKS Edge Essentials の使用方法には制限があります。実行可能な VM の数が制限されているだけでなく、マシンあたり 16 個の vCPU に制限され、最大クラスターは 15 台のマシンまでです。

ジャンプ先:

  • エッジ上のKubernetes
  • EFLOWの構築
  • AKS Edge Essentials のセットアップ
  • エッジでサポートされる長期的Kubernetes

エッジ上のKubernetes

Microsoftは2つの管理オプションを提供しています。Azure Stack HCIまたはAzureで既にAKSをご利用の場合は、管理プラットフォームとしてAzure Arcをお選びいただくことをお勧めします。Azure Portalに統合された管理ビューが提供され、オンプレミス、クラウド、エッジのすべてのシステム間でリソースを共有できます。また、Kubernetes独自の管理ツールに既に慣れている場合は、PowerShellからkubectlを使用して、ローカルおよびリモート管理をサポートすることもできます。

AKS Edge Essentials と従来の Kubernetes インストールには大きな違いが 1 つあります。クラスターのライフサイクルがサポートされていないことです。つまり、構成は静的であり、オンデマンドでスケーリングすることはできません。

これは理にかなったアプローチです。完全なKubernetesシステムはクラウドのような環境で動作するように設計されており、リソース制限はあるものの、単一サーバー上で実行することで制約を受けることはありません。AKS Edge Essentialsは、コンピューティング能力とメモリ容量が限られた小型フォームファクターのデバイスで実行されるため、必要に応じて自由に拡張することはできません。しかし、Kubernetes APIとコンテナベースのパッケージングおよびデプロイモデルをアプリケーションで活用することは可能です。

Azure Stack およびクラウド上の本格的な AKS と同様に、Windows コンテナーと Linux コンテナーの両方がサポートされています。繰り返しになりますが、リソースの制限により、マシンごとに制御ノードとワーカーノードの両方でホスト Linux VM は 1 つだけです。RAM、ストレージ、CPU コアの割り当てはインストール時に固定されるため、AKS Edge Essentials の操作は標準的なエッジデバイスの操作に非常に近くなります。

これは、既存のWindowsアプリケーションとKubernetesコードを同じハードウェア上で同時に実行できるアプローチであり、既存のWindows IoTハードウェアにKubernetesコードを追加できます。現代のアーキテクチャの主要コンポーネントであるKubernetesを使用すれば、Kubernetesベースの在庫管理システムとWindows POSアプリケーションを並行して実行し、データをクラウドホスト型の店舗管理システムに配信することが可能になります。

EFLOWの構築

AKS Edge Essentials は、Microsoft の EFLOW: Edge for Linux On Windows の取り組みをベースにしています。これは、使い慣れた実績のあるテクノロジーを基盤とした、理にかなったアプローチです。これらのサービスは、Microsoft 独自の CBL-Mariner Linux ディストリビューションをホスト OS として使用し、Hyper-V 仮想マシン上で実行されます。

このVMはKubernetesコントロールプレーンとLinuxワーカーをホストします。Linuxワーカーは、AzureモニタリングとArcポータルに接続するためのAzure管理ツールコンテナを実行します。このコンテナを実行することで、既存のKubernetesコンテナをデプロイできます。Linux VMと並行して、Kubernetes Windowsワーカーと独自のWindowsコンテナを備えたWindows VMをホストするオプションもあります。

EFLOWにKubernetesをインストールすることもできますが、あまり意味がありません。Microsoftがセットアップスクリプトとツールをすべて提供し、メンテナンスとアップデートも行います。このシステムにより、Kubernetesの運用に伴う負担が大幅に軽減されます。また、Azure Arcと連携することで、エッジデバイスの運用、プラットフォームエンジニアリング、アプリケーション運用の管理を分離できます。アプリケーションエンジニアは、Azure ArcポータルまたはAzure CLIから、エッジデバイス群全体をAzureリソースとして扱い、管理できるようになります。

参照: 熱意を抑えないで: エッジコンピューティングのトレンドと課題 (TechRepublic)

AKS Edge Essentials のセットアップ

展開オプションには、単一マシンとフルクラスターの2種類があります。単一マシンオプションでは、1台のLinuxとオプションのWindowsノードをサポートします。これは、小型の単一用途デバイスを使用するほとんどのエッジシナリオに十分です。フルクラスターを使用したより複雑なインストールは、Azure Stack HCIを使用するよりも低コストな代替手段となる可能性がありますが、追加の管理要件が伴います。それでも、小規模なマシンクラスターを「箱の中の保管庫」として検討している場合は、障害発生時にデータが保持されない場合でもアプリケーションの継続実行を保証する有効な選択肢となります。

セットアップは簡単です。サポートされているオペレーティングシステムのいずれかを選択し、Hyper-V を有効にします。Microsoft は、ターゲットマシンがスタンバイ状態にならないようにすることを推奨しています。

Kubernetes用とK3s用のインストーラーがそれぞれ用意されているので、お使いのディストリビューションを選択できます。適切なインストーラーをターゲットマシンにダウンロードしたら、インストーラーを実行してください。これにより、マシンの設定とセットアップを行うPowerShellスクリプトセットがインストールされます。これらのスクリプトは、GitHubからダウンロードできるJSONファイルを使用して、VMの設定、vCPUの有効化、メモリの設定を制御します。

システムが起動したら、他の Kubernetes システムと同様に、任意のコンテナ レジストリからコンテナをデプロイできます。

これは高可用性ソリューションではないことを覚えておくことが重要です。ただし、エッジでは高可用性は優先事項ではありません。異なるデバイスに複数のノードを配置するより複雑なデプロイメントでは、障害が発生したノードを可能な限り代替しますが、これは基盤となるVMがフェイルオーバーすることを意味するわけではなく、障害が発生したコンテナを他の場所で起動できるというだけです。

エッジでサポートされる長期的Kubernetes

KubernetesとK3Sがすぐに利用できるのに、なぜAKS Edge Essentialsのようなツールを使う必要があるのでしょうか?最大のメリットはサポートです。MicrosoftのWindows IoTは10年間の長期サポートを提供しており、マネージドLinuxホストとMicrosoft Kubernetesを利用すれば、アプリケーションが最新のKubernetesリリースで確実に実行されるようになります。Azure Arcによるクラウドホスト型管理とデプロイにより、エッジコンテナーを、集中的に開発・テストされたコードのデジタルツインとして扱うことができます。Arcが構成を管理・保存するため、エッジデバイスの交換は、新しいハードウェアを接続し、Azureに接続してデプロイを自動化するだけで済みます。

エッジにおけるKubernetesの重要性はますます高まっており、AKS Edge EssentialsはKubernetesの導入を容易にするはずです。現時点ではまだプレビュー段階であり、ツールの一部はまだ未完成です。それでも、コンテナを活用してエッジのデプロイメントと運用を簡素化できるかどうか試してみる価値はあります。

エッジについてさらに理解を深めたい方は、エッジの歴史と現在の状態を調べてください。

Tagged: