ACK Edgeクラスターでは、クロスリージョンO&M通信コンポーネントRavenは、強力なクロスネットワークドメイン通信を提供し、マルチリージョン環境での効率的なクラウドエッジ操作をサポートします。 このトピックでは、Ravenで使用される用語とRavenの機能について説明します。 このトピックでは、Ravenの仕組みについても説明します。
背景情報
ACK Edgeクラスターは、中央クラウドがエッジデータセンターとエッジデバイスを管理するクラウドエッジコラボレーションアーキテクチャを使用します。 クラウドにデプロイされたACK Edgeクラスターの制御プレーンを設定することにより、エッジにあるデータセンターとインフラストラクチャリソースはネットワーク接続を使用して制御プレーンと通信します。 これにより、クラウドネイティブな方法で多数のエッジデバイスを管理できます。
エッジコンピューティングでは、コンピューティングデバイスは通常、孤立した領域とネットワークドメインに分散されます。これもエッジコンピューティングの典型的な機能です。 したがって、クラスタ内のエッジデバイスは通常、グループで管理され、異なるグループ内のノード間のネットワーク接続は確立されません。 その結果、ノード上のアプリケーションは互いに分離される。 次の図は、データセンターまたはエッジデバイスが、インターネット経由でACK制御プレーンのパブリックエンドポイントとの接続を確立することを示しています。 データセンター、エッジデバイス、および仮想プライベートクラウド (VPC) は、異なるネットワークプレーンに属します。
コンポーネントの紹介
ACK Edgeクラスターは、ノードプールを使用して複数のリージョンのノードを管理します。 異なるノードプール内のノードは、異なるネットワークドメインに位置し、直接通信することができず、ノードIP競合を有する可能性がある。 このようなシナリオで一元化された監視と操作を実現するために、Kubernetes 1.26.3以降を実行するACK EdgeクラスターにRavenエージェントコンポーネントが提供され、ホストレベルとコンテナレベルの監視と操作をサポートします。
仕組み
各ネットワークドメインのゲートウェイノードとして、クラスター内のノードを選択します。 分離されたエッジデバイスは、独自のゲートウェイです。
RavenエージェントコンポーネントはDaemonSetとしてデプロイされ、クラスターのすべてのノードで実行されます。 ホストネットワークモードを使用して、ゲートウェイノード間に暗号化されたトンネルを構築します。
APIServer、MetricsServer、Prometheusなどのクラウド上のコンポーネントは、ゲートウェイノードを介して他のネットワークドメインのホスト、コンテナ、サービスと通信します。
機能
ACK Edgeクラスターを作成するときに、クラウドゲートウェイノードとして機能するElastic Compute Service (ECS) インスタンスを少なくとも1つ選択して購入する必要があります。
エッジのホストがインターネット経由でクラウドにデプロイされたACK edgeコントロールプレーンと対話する場合は、Classic Load Balancer (CLB) インスタンスとelastic IPアドレス (EIP) インスタンスを購入し、ネットワークアクセス制御リスト (ACL) を設定する必要があります。 これらのリソースは、異なるノードプール内のゲートウェイノード間に暗号化ネットワークトンネルを確立するために使用される。
Ravenは、クラウドエッジ通信用のプロキシモードとトンネルモードを提供します。
プロキシモードは、APIServer、MetricsServer、Prometheusなどのサービスのクロスドメインホストネットワーク通信をサポートします。 また、
kubectl logs/exec/attach/top
などのkubectlコマンドもサポートしています。トンネルモードは、クラウドエッジコンテナのネットワーク通信を提供します。 たとえば、Prometheusは通信を使用して、エッジのコンテナからメトリックを収集できます。 メトリック収集機能はパブリックプレビュー中です。
Ravenは、競合するIPアドレスを持つ異なるリージョンまたはネットワークドメイン内のホスト間のクラウドエッジ通信をサポートします。
コンポーネントアーキテクチャ
Ravenは、制御プレーンコンポーネントack-edge-yurt-managerとデータプレーンコンポーネントraven-agent-dsの2つのコンポーネントで構成されています。 Ravenには、ノード情報と構成情報を記録するためのカスタムクラスターリソースゲートウェイが必要です。 詳細については、「クロスリージョンO&M通信コンポーネントRavenの使用」をご参照ください。
ack-edge-yurt-managerコンポーネントは、ノードプールに基づいてネットワークドメインを分割し、ゲートウェイを作成します。
raven-agent-dsコンポーネントはDaemonSetとしてデプロイされ、ACKクラスターの各ノードで実行されます。 ゲートウェイノード間のルートまたはVPNトンネルを設定するためのプロキシとして機能します。
Ravenは、2つのクラウドエッジ通信モードを提供します。
プロキシモード: クロスホスト通信を可能にするリバースプロキシを作成します。 ゲートウェイノードは、ノード名 + ポート形式のノード名とポートの組み合わせに基づいて、レイヤ7でクロスドメイン要求を転送するためのプロキシとして機能します。
トンネルモード: コンテナ間のクロスドメイン通信用のVPNトンネルを作成します。 すべてのクロスドメイントラフィックは、各エッジノードプールのゲートウェイノードによって転送され、コンテナ間のクロスドメイン通信を実現します。
プロキシモード
選択されたエッジゲートウェイノードは、クラウド内のゲートウェイノードとの暗号化された逆方向チャネルを作成する。
ソロノードはゲートウェイノードであり、クラウド内のゲートウェイノードと直接トンネルを作成できます。
クラウドからのクロスドメインリクエストは、ネットワークドメイン内のターゲットサービスに到達する前に、クラウド内のゲートウェイノードによってエッジのゲートウェイノードにリダイレクトされます。
トンネルモード
選択されたエッジゲートウェイノードは、クラウド内のゲートウェイノードとIPSec-VPNトンネルを作成します。
Ravenエージェントは、ネットワークドメイン内に仮想拡張ローカルエリアネットワーク (VXLAN) を作成し、クロスドメインコンテナーネットワーク要求をゲートウェイノードに転送します。
Flannel VXLANは、このネットワークドメイン内のコンテナ間の通信を有効にするために使用されます。
クロスドメイン要求は、Raven VXLANを介してゲートウェイノードに転送されます。 これにより、コンテナはVPNトンネルを介してネットワークドメイン間で相互に通信できます。
この機能はパブリックプレビュー中です。 インターネットを介したクロスドメイン通信中にデータ損失が発生する可能性があります。 ビジネスクリティカルなデータの送信にはこの機能を使用しないでください。 トンネルモードを使用しているときに問題が発生した場合、または提案がある場合は、チケットを起票します。
参照
通信モードの変更、ネットワークACLの設定、またはカスタムゲートウェイの設定方法の詳細については、「クロスリージョンO&M通信コンポーネントRavenの使用」をご参照ください。
raven-agent-dsコンポーネントは、ACK Edgeクラスター用に継続的に更新されます。 リリースノートの詳細については、「raven-agent-ds」をご参照ください。