Terway Edge は、Container Service for Kubernetes (ACK) Edge クラスタ が提供するネットワークプラグインであり、通信用のアンダーレイネットワークを作成します。このトピックでは、Terway Edge が Edge Node Service (ENS) の Elastic Network Interface (ENI) を使用してコンテナ通信を有効にする方法について説明します。
背景情報
Terway Edge は、ENS ネットワークの ENI を使用することにより、ENS でのアンダーレイコンテナネットワーク通信をサポートします。
プライベート IP アドレスを手動で設定しないでください。Terway Edge は、ENI とそれにアタッチされたプライベート IP アドレスをポッドに自動的に割り当てます。
Virtual Private Cloud (VPC) では、Terway は ENI をポッドに割り当てます。複数のポッドが 1 つの ENI を共有し、ポッドアドレスは ENI のプライベート IP アドレスから割り当てられます。ポッドネットワークと Elastic Compute Service (ECS) は同じネットワークプレーン上にあります。
エッジ側の ENS ネットワークでは、Terway は ENS の ENI をポッドに割り当てます。複数のポッドが 1 つの ENI を共有し、ポッドアドレスは ENI のプライベート IP アドレスから割り当てられます。ポッドネットワークと ENS は同じネットワークプレーン上にあります。
通常、中央クラウドの VPC とエッジクラウドの ENS ネットワーク間の内部ネットワーク通信は、Edge Network Acceleration (ENA) を介して実現できます。これにより、ネットワークドメイン全体でコンテナとホスト間のシームレスな接続性が確保されます。
使用上の注意
セキュリティグループを設定する際は、以下の点にご注意ください。
構成 | 方向 | プロトコル | ポート | 許可されたオブジェクト |
コンテナ間の通信 | 受信 | すべて | すべて | ENS CIDR ブロック |
送信 | すべて | すべて | ENS CIDR ブロック |
前提条件
Edge クラスタを作成するときに、[terway-edge] が [ネットワークプラグイン] として選択されていること。詳細については、「Terway Edge の使用ガイド」をご参照ください。
[terway-edge-controlplane] コンポーネントがインストールされていること。詳細については、「コンポーネント管理」をご参照ください。
ステップ 1: ENI をバインドする
コンソールを使用して ENI をバインドするか、ENI マウントツールを使用してワンクリックで購入およびバインドできます。
ENI を ENS インスタンスにバインドするには、まず ENS インスタンスをシャットダウンする必要があります。ENI をバインドした後、インスタンスを再起動して変更を適用します。
各 ENI には最大 25 個のプライベート IP アドレスを割り当てることができます。これらのプライベート IP アドレスはポッド IP としてポッドに割り当てられ、各 ENI は最大 25 個のポッドをサポートできます。
各 ENS インスタンスのプライマリ ENI は、プライベート IP アドレスをポッドに割り当てることができません。
各 ENS インスタンスでサポートされるポッドの最大数は、次の数式で計算されます。ENS インスタンスあたりの最大ポッド数 = (ENI の数 - 1) × 25
各 ENS インスタンスでサポートされるポッドの最大数は、次の式で計算されます。ENS インスタンスあたりの最大ポッド数 = (ENI の数 - 1) × 25。要件に基づいて必要な数の ENI をバインドできます。
ACK コンソール
ノードを追加する前に、次の手順を実行して ENI を ENS インスタンスに手動でマウントします。
ENS コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[ENI] ページで、[ENI の作成] をクリックします。要件に基づいてパラメータを設定し、[作成] をクリックします。
作成した ENI の [ENI ID] を見つけ、[アクション] 列の [インスタンスの関連付け] をクリックし、適切な [インスタンス ID/名前] を選択して、[OK] をクリックします。
ENI バインドツール
次の表は、ENI バインドツールでサポートされている OS の種類とアーキテクチャを示しています。
ツール名 | OS の種類 | OS アーキテクチャ |
eni-tool-linux-amd64 | Linux | amd64 |
eni-tool-linux-arm64 | Linux | arm64 |
eni-tool-darwin-amd64 | Darwin | amd64 |
eni-tool-darwin-arm64 | Darwin | arm64 |
ENI バインドツール eni-tool-linux-amd64 をダウンロードします。
別のバージョンを使用するには、
eni-tool-linux-amd64を使用する ENI バインドツールの名前に置き換えます。wget https://alias-cn-hangzhou.oss-cn-beijing.aliyuncs.com/ens/eni-tool/eni-tool-linux-amd64; chmod +x eni-tool-linux-amd64次のいずれかのコマンドを実行して、バインドツールを使用して ENI を ENS インスタンスにバインドします。
./eni-tool-linux-amd64 --accessKey aliyun-ak-xxxxx --secretKey aliyun-sk-xxx --instance i-56ixxxxxxx./eni-tool-linux-amd64 --profile ./profile.json --instance i-56ixxxxxxxオプション
説明
デフォルト値
必須
--accessKeyAlibaba Cloud アカウントの AccessKey ID。
該当なし
はい
--secretKeyAlibaba Cloud アカウントの AccessKey シークレット。
該当なし
はい
--instanceENI をバインドする ENS インスタンスの ID。
該当なし
はい
--vswitch購入した ENI の vSwitch ID。
ENS インスタンスの vSwitch ID。
いいえ
--eniNumber購入した ENI の数。
2 (最大 50 ポッドをサポート)
いいえ
--securityGroup購入した ENI のセキュリティグループ ID。
ENS インスタンスのセキュリティグループ ID。
いいえ
--regionENI バインドツールが ENS サービスにアクセスするためのリージョン ID。
ap-southeast-1
はい
--profileAlibaba Cloud アカウントの AccessKey ペア。
profile.jsonの例:{ "AccessKey": "xxxxx", "SecretKey": "xxxxxxxxxxx" }該当なし
いいえ
ステップ 2: ENS ノードを追加する
ENS ノードを ACK Edge クラスタ に追加します。手順の詳細については、「エッジノードを追加する」をご参照ください。