ACK Edgeクラスターを作成して、データセンターおよびエッジデバイスのデバイスをContainer Service for Kubernetes (ACK) に接続し、ACKが提供する機能を使用し、オンプレミスのコンピューティングリソースを管理できます。 このトピックでは、クラウドエッジ接続ネットワーク、Container network Interface (CNI) 、Service、Ingressなど、ACK Edgeクラスターネットワークで使用される主要な概念とネットワークアーキテクチャについて説明します。 これらの用語を理解すると、アプリケーションの展開モデルとネットワークアクセス方法を最適化できます。
クラウドエッジネットワーク接続モード
ACK Edgeクラスターは、パブリックネットワークモードまたはプライベートネットワークモードで接続できます。
パブリックネットワークモード: データセンターとエッジデバイスは、インターネットNATゲートウェイまたはパブリックネットワークインターフェイスコントローラー (NIC) を介してクラウドおよびAlibaba cloudサービスでホストされるACKコントロールプレーンに接続され、ACKコントロールプレーンとの通信およびAlibaba Cloudサービスへのアクセスを可能にします。
プライベートネットワークモード: データセンターおよびエッジデバイスのコンピューティングデバイスは、Express Connect回線、VPNゲートウェイ、またはその他のプライベートネットワークを介して、クラウドおよびAlibaba cloudサービスでホストされるACKコントロールプレーンに接続されます。 次の図では、例としてAlibaba CloudのExpress Connectを使用しています。
クラウドエッジO&M通信コンポーネント
ACK Edgeクラスターは、中央クラウドがエッジデータセンターとエッジデバイスを管理するクラウドエッジコラボレーションアーキテクチャを使用します。 コンピューティングデバイスはしばしば複数の領域およびネットワークドメインにわたって分散されるという事実のために、中央クラウドとエッジ側との間の直接通信は不可能である。
エッジデバイスの中央クラウドのO&Mとモニタリングの要件を満たすために、2つのソリューションが利用可能です。
プライベートネットワーク通信: セントラルクラウドの仮想プライベートクラウド (VPC) をプライベートネットワークを介してエッジのデータセンターまたはデバイスと接続し、クラウドとエッジ間の通信を可能にします。
インターネットを介したトンネリング: クラウドエッジO&M通信コンポーネントRavenを使用して、インターネットを介したリバーストンネルを確立します。 このリバーストンネルにより、クラウドとエッジ間のO&Mおよびモニタリングデータの転送が容易になります。 エッジデータセンターまたはデバイスがインターネットにアクセスできることを確認します。 詳細については、「Cross-region O&M communication component Raven」をご参照ください。
CNI
KubernetesはCNIプラグインを使用して、コンテナ間のネットワーク通信を有効化および標準化します。
コンテナネットワーク内のポッドのステータスは、ポッドのライフサイクルフェーズによって異なります。 たとえば、ポッドが作成されると、コンテナーネットワークに追加されます。 ポッドが削除されると、コンテナーネットワークから削除されます。
コンテナネットワーク内の各ポッドには、ポッドを識別するために一意のIPアドレスが割り当てられます。
ポッドは、クラスター内のエンドポイントおよびクラスター外のエンドポイントと通信できます。
CNIプラグインは、コンテナネットワークの実装を担当します。 使用するCNIプラグインは、ポッドにIPアドレスを割り当てる方法、オーバーレイネットワークを使用するかどうか、クラスター内でトラフィックを転送する方法、ポッドへのアクセスを管理する方法を決定します。 よく知られているオープンソースのCNIプラグインには、Calico、Flannel、およびCiliumが含まれます。
ACK Edgeクラスターは、それぞれ異なる機能を持つネットワークプラグインFlannelとTerway Edgeをサポートしています。 クラスターを作成する前に、次のセクションを参照して適切なネットワークプラグインを選択してください。
クラスターが作成されると、Terway EdgeとFlannelを切り替えることはできません。
フランネル (コンテナのオーバーレイネットワーク)
ACK Edgeクラスターでは、FlannelはVXLAN (Virtual Extensible Local Area Network) モードで動作し、レイヤー3ホストネットワークを介してコンテナネットワークを確立し、クロスホストポッド通信を可能にします。
Flannelネットワークプラグインは、ポッドのCIDRブロックがVPCのCIDRブロックと重複しないようにします。 ポッドのCIDRブロックは均等に分割され、クラスター内のノードに割り当てられます。 ノード上の各ポッドには、ノードのCIDRブロックに属するIPアドレスが割り当てられます。 Flannelネットワークプラグインには、次の機能があります。
ポッドのCIDRブロックは、VPCのCIDRブロックと重複しません。
コンテナパケットは、送信のためにVXLANを使用するホストによってカプセル化される。
外部ネットワークデバイスの追加設定は不要で、そのまま使用できます。
Flannelネットワークプラグインの詳細については、「Network plug-in Flannel」をご参照ください。
Terway Edge (コンテナー) のネットワーク
Terway Edgeは、クラウドノードプール内でクラウドネイティブネットワークソリューションを採用しています。 elastic network Interface (ENI) を使用してコンテナネットワークを構成します。 ENIは、VPC内のIPアドレスをポッドに割り当てる仮想NICです。 エッジノードプールの場合、ポッドのCIDRブロックを指定する必要があります。 コンテナは、このCIDRブロックからIPアドレスを取得します。 Terway Edgeネットワークプラグインには、次の機能があります。
クラウドポッドのCIDRブロックとElastic Compute Service (ECS) インスタンスは、VPCのIPアドレス範囲内にあり、同じネットワークプレーン上にあります。
エッジポッドのCIDRブロックは、ホストのCIDRブロックと重複しません。
カプセル化なしのポッド間の通信、オーバーレイネットワークよりも優れた効率を提供します。
コンテナパケットの送信には、外部ネットワーク機器の経路設定が必要です。
外部ホスト、コンテナー、およびクラウドサービスからポッドIPを介してクラスター内のコンテナーに直接アクセスできます。
Terway Edgeネットワークプラグインの詳細については、「Terway Edgeネットワークプラグイン」をご参照ください。
サービスの概要
サービスは、ポッドのグループにエントリポイントを提供することによってアプリケーションを公開する方法です。 ACKは、さまざまなソースとクライアントからのリクエストを処理するために、次のタイプのサービスを提供します。
タイプ | 説明 |
クラスターIP | ClusterIPサービスは、クラスター内のアクセスを処理するために使用されます。 アプリケーションで内部クラスターの公開が必要な場合は、ClusterIPサービスを作成できます。 説明 デフォルトでは、サービスを作成するときにClusterIPが選択されます。 |
NodePort | NodePortサービスは、アプリケーションをインターネットに公開するために使用されます。 クラスターノードのIPアドレスとポートを使用して、アプリケーションを公開できます。 これにより、ノードのIPアドレスとポートからアプリケーションにアクセスできます。 |
LoadBalancer | LoadBalancerサービスは、アプリケーションをインターネットに公開するために使用されます。 LoadBalancerサービスは、SLBインスタンスを使用してアプリケーションを公開します。 したがって、LoadBalancerサービスはNodePortサービスよりも高い可用性とパフォーマンスを提供します。 LoadBalancerサービスを使用してアプリケーションを公開する方法の詳細については、「LoadBalancerサービスを使用してアプリケーションを公開する」をご参照ください。 |
ヘッドレスサービス | ヘッドレスサービスは、サービス構成ファイルで |
ExternalName | ExternalNameサービスは、サービスを外部ドメイン名にマップするために使用されます。 これにより、クラスター内のポッドは、サービスを使用して外部ドメイン名にアクセスできます。 |
ACKエッジクラスタでは、多くの場合、コンピューティングリソースは異なるネットワークドメインに分散されます。 分散シナリオでは、次の機能が提供されます。
機能 | 説明 |
サービストポロジー | サービストポロジーは、クライアント要求が同じネットワークドメイン内または同じノード上のバックエンドポッドに向けられることを保証します。 したがって、異なるネットワークドメインに位置するクライアントとサービスポッドとの間の通信は制限される。 詳細については、「Configure a Service topology」をご参照ください。 |
NodePortサービスのポートフェンシング | 複数のネットワークドメイン間でNodePortサービスをポート分離するには、ノードプールに基づいてNodePortリスニングを設定します。 詳細については、「Configure NodePort listening based on node pools」をご参照ください。 |
Ingressの概要
ACK Edgeクラスターでは、サービスはレイヤー4負荷分散をサポートします。 ただし、Ingressはレイヤー7のクラスターでサービスへの外部アクセスを管理します。 Ingressは、クラスター内の複数のサービスを公開するアクセスポイントとして機能します。 Ingressを使用して、さまざまなレイヤー7転送ルールを設定できます。 たとえば、ドメイン名またはパスに基づいて異なるサービスにリクエストを転送できます。 詳細については、「Ingresses overview」をご参照ください。