AKS Edge Essentials ネットワーク
この記事では、Windows ホスト OS と Linux ノードと Windows ノードの仮想マシンの間のネットワークを構成する方法について説明します。 AKS Edge Essentials アーキテクチャの詳細については、 AKS Edge Essentials の概要を参照してください。
ヒント
次のガイドでは、AKS Edge Essentials で使用できるさまざまなネットワークの概念と構成について説明します。 単一のマシン クラスターを使用する場合、インストーラーとデプロイ メカニズムによって、必要なすべてのネットワーク構成が処理されます。 クラスターをデプロイするために追加の手順や構成は必要ありません。
ネットワーク
このガイドでは、ネットワークとルーター (つまり、ホーム設定) を制御していることを前提としています。 企業環境の場合は、インターネット上で到達可能な (同じサブネットから) さまざまな無料 IP アドレスをネットワーク管理者に依頼することをお勧めします。
Windows ホスト OS と Linux および Windows 仮想マシン間の通信チャネルを確立するには、Hyper-V ネットワーク スタックを使います。 Hyper-V ネットワークの詳細については、「Hyper-V ネットワークの基本」を参照してください。
AKS Edge Essentials の次の主要なネットワークの概念は、Kubernetes の概念と一致しています。
- 仮想スイッチ: Hyper-V ホスト上に作成された仮想マシンが他のコンピューターと通信できるようにする Hyper-V コンポーネント。 詳細については、「 Hyper-V を使用した仮想スイッチの作成と構成を参照してください。 AKS Edge Essentials では、次の 2 種類の仮想スイッチがサポートされています。
- 内部: 仮想スイッチを持つ Windows ホスト OS 上で実行されている仮想マシン、およびホスト OS と仮想マシンの間でのみ使用できるネットワークに接続します。
- 外部: 物理ネットワーク アダプターにバインドすることで、有線の物理ネットワークに接続します。 物理ネットワークにアクセスして、外部ネットワーク上のデバイスと通信するアクセス権を仮想マシンに付与します。 さらに、同じ Hyper-V サーバー上の仮想マシンが相互に通信できるようにします。
- コントロール プレーン エンドポイントの IP アドレス: Kubernetes コントロール プレーンは、この IP アドレスから到達可能です。 Kubernetes コントロール プレーンのクラスターの有効期間を通して無料の 1 つの IP を指定する必要があります。
- サービス IP アドレス範囲: サービス IP 範囲は、アプリケーションに到達できるように Kubernetes サービス (Kubernetes サービス/ワークロード) に IP アドレスを割り当てる際に使用される予約済み IP アドレスのプールです。
- 仮想マシンの IP アドレス: AKS Edge Essentials では、Kubernetes ノードは、IP アドレスを必要とする特殊な仮想マシンとしてデプロイされます。 これらの VM に無料の IP を割り当てる必要があります。
デプロイの種類別のネットワーク
AKS Edge Essentials が単一のマシン クラスターまたはスケーラブルなクラスターを使用してデプロイされている場合、次の表に示すように、さまざまな種類のスイッチ、IP アドレスの割り当て、構成がサポートされます。
単一マシン クラスター | スケーラブル クラスター | |
---|---|---|
仮想スイッチの種類 | 内部 | 外部 |
仮想スイッチの作成 | 自動 | ユーザーによって手動で、または物理ネット アダプター名に基づいて自動的に。 |
IP アドレスの割り当て | 自動 – 定義されたアドレス | ユーザーによって構成された静的 IP アドレス。 |
送信接続 (アウトバウンド接続) | 仮想スイッチの使用 | 物理ネット アダプターを直接使用します。 |
受信接続 | [到達不能] | 仮想マシンの IP アドレスの使用。 |
DNS | DnsServers パラメーターを使用して構成できます。指定しない場合は、Windows ホスト DNS サーバーを使用します。 |
DnsServers パラメーターを使用して構成可能 - 指定されていない場合は、Windows ホスト DNS サーバーを使用します。 |
プロキシ | http_proxy 、https_proxy 、およびno_proxy パラメーターを使用して構成できます。 |
http_proxy 、https_proxy 、およびno_proxy パラメーターを使用して構成できます。 |
オフライン展開 | InternetDisabled パラメーターの使用がサポートされています。 |
InternetDisabled パラメーターの使用がサポートされています。 |
サービス IP 範囲 | ServiceIPRangeSize パラメーターが定義されている場合は、192.168.0.4 から開始。 |
ServiceIPRangeStart パラメーターとServiceIPRangeSize パラメーターの両方を定義できます。 |
静的 MAC アドレス | MacAddress パラメーターの使用がサポートされています。 |
MacAddress パラメーターの使用がサポートされています。 |
最大伝送ユニット (MTU) | MTU パラメーターの使用がサポートされています。 |
MTU パラメーターの使用がサポートされています。 |
単一マシン クラスター
単一マシン デプロイは、内部仮想スイッチを使用してネットワークを管理します。 この種類のデプロイには Linux ノードが必要で、Windows ノードはオプションです。 次の図は、内部仮想スイッチを使用する単一マシン デプロイのアーキテクチャを示しています。
AKS Edge Essentials は、単一マシンのデプロイ時に、 aksedgesw-int という名前の内部仮想スイッチと、仮想マシンと Windows ホスト OS を接続するための適切な仮想ネットワーク アダプターを作成します。 セットアップでは、NIC の IP アドレスの割り当てとアドレス変換も処理されます。 たとえば、仮想 NIC の IP アドレスは次のように定義できます。
- Windows ホスト OS: 192.168.0.1
- Linux ノード仮想マシン: 192.168.0.2
- Windows ノード仮想マシン: 192.168.0.3
- サービス IP アドレスの開始: 192.168.0.4
192.168.0.0/24 アドレス ファミリは、内部仮想スイッチに応じて変更される可能性があります。ただし、ノードとホスト OS のサフィックスは常に同じです。ホスト OS (.1)、Linux VM (.2)、Windows VM (.3)、ServiceIP start (.4) です。
最後に、アドレス変換を使用して、トラフィックは物理ネットワーク アダプターを使用して外部ネットワークに到達できます。 前の図は、 10.0.0.0/24 IP アドレス ファミリを使用する外部ネットワークを示していますが、これはデバイスがインストールされているネットワーク環境によって異なります。
スケーラブル クラスター
スケーラブルなクラスターデプロイでは、異なるデバイス内で実行されているノードが相互に通信する必要があります。 そのため、すべてのノードが同じネットワークに接続されている必要があります。 デバイス間でこのノード間通信を実現するために、AKS Edge Essentials のスケーラブルなクラスター デプロイでは外部仮想スイッチが使用されます。 次の図は、外部仮想スイッチを使用したマルチマシンデプロイ アーキテクチャを示しています。
この種類のデプロイを開始するには、デプロイ時に次のネットワーク パラメーターを指定する必要があります。
- AdapterName: 外部ネットワークに接続されている物理アダプターの名前。 PowerShell
Get-NetAdapter -Physical
コマンドを実行して、選択したアダプターのName
列を表示できます。 - Ip4Address: VM が使用する IP アドレスを指定します。 各ノードには、独自の一意の IP アドレスが必要です。
デプロイが完了すると、すべてのノードと Windows ホスト OS が、同じ外部仮想スイッチを使用して外部ネットワークに接続されます。 ノードはネットワークに直接接続されているため、アドレス変換は必要ありません。 前の図は、 192.168.0.0/24 IP アドレス ファミリを使用したネットワーク アーキテクチャを示しています。ただし、これはデバイスがインストールされているネットワーク環境によって異なります。
スケーラブルなクラスター構成の詳細については、「AKS Edge Essentials での完全な Kubernetes デプロイのと複数のマシンでのスケール アウトを参照してください。
その他のネットワークの概念
DNS
ドメイン ネーム システム (DNS) は、人間が判読できるドメイン名 ( www.microsoft.com
など) を、コンピューターが読み取り可能な IP アドレス ( 192.0.2.44
など) に変換します。 AKS Edge Essentials Linux 仮想マシンは systemd (システムおよびサービス マネージャー) を使用するため、DNS または名前解決サービスは、 systemd 解決 サービスを介してローカル アプリケーションとサービスに提供されます。 Windows ノードは、既定の Windows ネットワーク DNS サービスを使用します。
既定では、AKS Edge Essentials のデプロイ時に、 DnsServers
パラメーターを使用して DNS サーバーの一覧を指定できます。 アドレスが指定されていない場合、展開メカニズムは Windows ホスト OS DNS サーバーを検索し ( ipconfing /all
を使用して確認)、それらのサーバー アドレスを使用します。
Linux ノードと Windows ノードの両方で使用されている DNS サーバーを確認できます。 これを行うには、管理者特権の PowerShell セッションを使用して、次のコマンドレットを実行します。
Linux VM ノードの場合:
Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
コマンド出力には、各 Linux VM インターフェイス用に構成された DNS サーバーの一覧が表示されます。 特に、AKS EE VM 通信の既定のインターフェイスである eth0 インターフェイスの状態を確認することが重要です。 また、一覧の 現在の DNS サーバー および DNS サーバー フィールドの IP アドレスを確認してください。 IP アドレスがない場合、または IP アドレスが有効な DNS サーバー IP アドレスでない場合、DNS サービスは機能しません。
Windows VM ノードの場合:
Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
コマンド出力には、構成されている Windows VM ネットワーク インターフェイスの一覧が表示されます。 特に、 Ethernet アダプター vEthernet (イーサネット) インターフェイスの状態を確認することが重要です。これは、AKS Edge Essentials VM 通信の既定のインターフェイスです。 また、リストの DNS サーバー フィールドの IP アドレスを確認してください。 IP アドレスがない場合、または IP アドレスが有効な DNS サーバー IP アドレスでない場合、DNS サービスは機能しません。
プロキシ
プロキシ サーバーは、クライアントとインターネットの間のゲートウェイとして機能する専用ソフトウェアです。 ネットワーク要求は中継局として処理されます。プロキシ サーバーに接続すると、コンピューターは受信者に直接ではなくサーバーに要求を送信します。 AKS Edge Essentials では、Linux と Windows の両方の仮想マシンのプロキシ サーバーの設定がサポートされています。
既定では、AKS Edge Essentials のデプロイ時に、 Proxy.Http
、 Proxy.Https
、および Proxy.No
パラメーターを使用してプロキシ構成を指定できます。 パラメーターが指定されていない場合、デプロイ メカニズムは、必要な Kubernetes 内部ネットワークを使用して no_proxy
フラグを設定します。
Linux VM ノードの場合:
Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
Windows VM ノードの場合:
Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
静的 MAC アドレス
Hyper-V を使うと、仮想マシンを静的または動的な MAC アドレスで仮想マシンを作成できます。 AKS Edge Essentials 仮想マシンの作成中に、 MacAddress
パラメーターを使用して VM MAC アドレスを指定できます。 値が指定されていない場合、MAC アドレスはランダムに生成され、仮想マシン間で同じアドレスを保持するためにローカルに格納されるか、Windows ホストが再起動します。 AKS Edge Essentials 仮想マシンの MAC アドレスに対してクエリを実行するには、次のコマンドを使用します。
Linux VM ノードの場合:
Get-AksEdgeNodeAddr -NodeType Linux
Windows VM ノードの場合:
Get-AksEdgeNodeAddr -NodeType Windows