ハイブリッドクラウドノードプールをオンプレミスデータセンターに接続すると、複雑なネットワークトポロジとクロスドメインのルーティング要件が発生し、標準的な CNI プラグインの能力を超える可能性があります。Terway Hybrid ネットワークプラグインは、ハイブリッドクラウドノードプール専用に設計されており、クラウドまたはオンプレミスデータセンターのどちらで実行されているかに関わらず、クラスター内のすべての Pod 間のネットワーク接続を確保します。
仕組み
以下の図は、ACK ハイブリッドクラウドノードプールの全体的なネットワークアーキテクチャを示しています。このアーキテクチャは、Alibaba Cloud VPC とオンプレミスデータセンターという 2 つの主要なネットワークドメインで構成されています。複数のオンプレミスデータセンターがある場合や、サードパーティのクラウドに接続している場合は、さらに多くのネットワークドメインが存在する可能性があります。これらのネットワークドメインは、専用線接続を使用してレイヤー 3 プライベートネットワーク接続を確立します。VPC 内の ACK クラスターは、Flannel や Terway などの標準的なネットワークプラグインを使用できます。オンプレミスデータセンター内のノードは、Terway Hybrid ネットワークプラグインを使用する必要があります。
Terway Hybrid のモード
Terway Hybrid は、ノードプールレベルで 2 つのモードを提供します。ハイブリッドクラウドノードプールを作成する際にモードを設定できます。
比較 | アンダーレイモード | オーバーレイモード |
メリット | VXLAN カプセル化のオーバーヘッドがないため、ネットワーク遅延が低く、高性能です。パフォーマンスはオーバーレイモードより約 20% 高くなります。 | 基盤ネットワークに特別な要件がなく、設定がシンプルで、デプロイメントの柔軟性が高いです。 |
ネットワーク要件 | ノード間のレイヤー 2 ネットワーク接続が必要です。ノードが異なるレイヤー 3 ネットワークドメインにある場合は、BGP を設定して Pod ルートを広報する必要があります。 | ノード間のレイヤー 3 プライベートネットワーク接続のみが必要です。 |
Pod ネットワークパス | Pod のトラフィックは、ホストのネットワークインターフェースカード (NIC) を介して直接レイヤー 3 でルーティングされます。 | Pod のトラフィックは、仮想ネットワークインターフェース上で VXLAN を使用してカプセル化され、ホストネットワークのポート 8472 を介して UDP で送信されます。 |
前提条件
Kubernetes 1.33 以降を実行する ACK マネージドプロ版クラスター。
クラスターが Flannel ネットワークプラグインを使用している場合、そのバージョンは v0.15.1.23 以降である必要があります。
ハイブリッドクラウドノードプールには、特定の ACK 管理コンポーネントをデプロイするために、クラスター内に ECS ノードが必要です。高可用性を確保するために、3 つ以上の ECS ノードを使用してください。
操作手順
ステップ 1:クロスクラウドネットワークの確立
Terway Hybrid プラグインをインストールする前に、クラウド環境とオンプレミス環境間のネットワークパスが完全に接続されていることを確認してください:
Express Connect を使用して専用線接続を作成し、VPC とオンプレミスデータセンターのホストネットワーク間の接続を確立します。また、VPC ルートテーブルと Express Connect ルーターにルートエントリを設定します。
オンプレミスデータセンターが Alibaba Cloud サービスにアクセスする必要がある場合は、データセンターのコアスイッチに Alibaba Cloud サービス CIDR ブロック
100.64.0.0/10のルートを追加します。詳細については、「Express Connect 回線経由のプライベート接続の設定」をご参照ください。クラウド内のリソースがオンプレミスデータセンターの Pod にアクセスする必要がある場合、コアスイッチは BGP をサポートする必要があります。詳細については、「ステップ 3:外部ネットワークへの Pod の公開」をご参照ください。
ステップ 2:プラグインのインストール
-
ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
-
クラスターリスト ページで、対象クラスターの名前をクリックします。左側のナビゲーションウィンドウで、 [コンポーネントとアドオン] をクリックします。
terway-hybrid-controlplane コントロールプレーンコンポーネントをインストールします。
パラメーター
説明
RemoteContainerCIDR
ハイブリッドクラウドノードプールの Pod の CIDR ブロックです。既存の Service の CIDR ブロック、Pod の CIDR ブロック、クラウドノードの CIDR ブロック、またはオンプレミスノードの CIDR ブロックと重複することはできません。
RemoteContainerCIDRMaskSize
ハイブリッドクラウドノードプールの各ノードに割り当てられる Pod の CIDR ブロックのサブネットマスクサイズです。例えば、これを 24 に設定すると、各ノードには
xxx.xxx.xxx.0/24のような /24 の CIDR ブロックが割り当てられ、256 個の Pod IP アドレスが提供されます。ソースネットワークアドレス変換 (SNAT) の有効化
ハイブリッドクラウドノードプールの Pod が外部サービスにアクセスする際に、ソース IP アドレスをノードの IP アドレスに変換するかどうかを指定します。
このオプションを無効にする場合は、外部ネットワークデバイスが Pod の IP アドレスを解決できることを確認してください。詳細については、「ステップ 3:外部ネットワークへの Pod の公開」をご参照ください。
terway-hybrid データプレーンコンポーネントをインストールします。このプラグインは、ハイブリッドクラウドノードプールに追加した新しいノードに自動的にインストールされます。
ステップ 3:外部ネットワークへの Pod の公開
VPC 内やクラスター外などの外部ネットワークデバイスが Pod に直接アクセスする必要がある場合は、BGP を設定して Pod ルートを動的にスイッチに広報します。
BGP 設定の作成
Terway Hybrid は、BGP 設定を保存し、nodeSelector を使用してハイブリッドクラウドノードプールに関連付ける BGPClusterConfig CRD を定義します。
Terway Hybrid は、デフォルトではこのリソースを作成しません。BGP が必要な各ハイブリッドクラウドノードプールに対して BGPClusterConfig を作成してください。次のコードで
bgpclusterconfig.yamlという名前のファイルを作成します。apiVersion: network.alibabacloud.com/v1beta1 kind: BGPClusterConfig metadata: name: bgp spec: localASN: 65010 nodeSelector: matchLabels: alibabacloud.com/nodepool-id: "np-xxx" bgpSpeakers: - name: hybrid-node-1 peers: - name: switch-1 peerASN: 65001 peerAddress: "10.10.0.1" - name: hybrid-node-2 peers: - name: switch-1 peerASN: 65001 peerAddress: "10.10.0.1" #任意 authPassword: secretKeyRef: name: bgp-secret key: password --- #任意 apiVersion: v1 kind: Secret metadata: name: bgp-secret namespace: kube-system type: Opaque data: password: bXxXXXxXXXXXx== # Base64 エンコードされた値。パラメーター
必須
説明
metadata.nameはい
クラスター内の
BGPClusterConfigの名前。spec.localASNはい
BGP スピーカーのネットワークの自律システム番号 (ASN) です。64512 から 65535 までのプライベート ASN を使用してください。
spec.nodeSelectorはい
この BGP 設定が適用されるノードを指定します。ラベルを使用して、ハイブリッドクラウドノードプール内のすべてのノードを選択します。
spec.bgpSpeakersはい
関連付けられたノードのうち、どれが BGP スピーカーとして機能するかを指定します。これらのスピーカーは Pod ルートを広報します。
単一障害点を防ぐために、2 つ以上のノードを選択してください。
spec.bgpSpeakers.nameはい
BGP スピーカーノードの名前は、
spec.nodeSelectorによって選択されたノード名と一致する必要があります。spec.bgpSpeakers.peersはい
この BGP スピーカーとピアリングセッションを確立するデバイスのリストです。これらのデバイスは通常、アクセスレイヤースイッチです。
spec.bgpSpeakers.peers.nameはい
BGP ピアデバイスの名前。
spec.bgpSpeakers.peers.peerASNはい
BGP ピアデバイスの自律システム番号 (ASN)。
spec.bgpSpeakers.peers.peerAddressはい
BGP ピアデバイスの IP アドレス。
spec.bgpSpeakers.peers.authPasswordいいえ
BGP セッションの認証パスワードは、Secret リソースを参照して取得されます。Secret は
kube-system名前空間にある必要があります。BGPClusterConfig リソースを適用します。
kubectl apply -f bgpclusterconfig.yaml
外部ネットワークデバイスの設定
オンプレミスデータセンターのネットワークデバイスで BGP サービスを有効にし、「BGP 設定の作成」で選択したノードを BGP ピアとして設定します。次に、VPC ルートテーブル、Express Connect ルーター、およびオンプレミスのコアスイッチに、オンプレミスの Pod の CIDR ブロックを指すルートを追加します。設定が完了したら、BGP ピアリングセッションが確立されていることを確認します。
Terway Hybrid は、デフォルトで BGP グレースフルリスタートを 600 秒の持続時間で有効にします。スイッチで BGP グレースフルリスタートを適宜設定してください。