UCloud大規模仮想ネットワークにおけるグレースケールリリースの応用

UCloud大規模仮想ネットワークにおけるグレースケールリリースの応用

この記事では主に、仮想ネットワーク制御プレーン上の ServiceMesh テクノロジーと転送プレーン上のプログラム可能なスイッチを使用して、UCloud の仮想ネットワークでグレースケール リリースを実現する方法について詳しく説明します。
ServiceMeshはグレースケールのコントロールサーフェスを実装します
コントロール プレーンでは、初期のグレースケール リリースは APIGW を使用して実装されました。 APIGW は通常、ユーザー トラフィックの入口にのみ導入され、完全なグレースケール リリースには 2 つのシステムを完全に導入する必要があります。しかし、マイクロサービス時代においては、マイクロサービスへの変更には 2 つのシステムを完全に展開する必要があり、コストがかかるだけでなく、製品の変更速度にも重大な影響を及ぼします。 ServiceMesh は、集中管理を提供しながら、APIGateway をローカルにデプロイするのと同様の方法でこれらの問題を完全に解決します。
UCloud の軽量 ServiceMesh プラットフォームは Istio をベースとしており、Envoy プロキシを引き続き使用します。完全な DSL サポートを維持しながら、K8S からの独立した操作を実現するように Pilot を変更します。
そのため、ネットワーク チームは、独自のニーズをよりよく満たすために Pilot を高度にカスタマイズしました。


カスタマイズプラン1:アカウントごとにグレースケール。 GRPC または HTTP リクエストにカスタム ヘッダー x-ucloud-routeby を追加します。 x-ucloud-routeby は Cookie エンコード形式を使用し、アカウント情報を含みます。ヘッダーに基づいてポリシー ルーティングを実行するように Envoy を構成します。
カスタマイズされたソリューション 2: IPTables の透過的な転送の代わりに明示的なプロキシを使用して Envoy と統合し、HTTP 1.0、HTTP 2.0、gRPC をサポートします。 Envoy のプロキシ ポートが設定されている場合、ServiceMesh は Envoy を介して接続されます。ドメイン名が設定されているが、Envoy のプロキシが設定されていない場合は、ETCD gRPC の命名と検出が自動的に使用されます。 IP アドレスとポートが設定されている場合は、指定されたアドレスに直接接続されます。


カスタマイズ ソリューション 3 : docker-compose を使用してコンテナーを管理し、サイドカーを実装します。新しいソリューションでは、マイクロサービスをパッケージ化してデプロイするために引き続きコンテナ アプローチを使用しますが、既存のサービスのネットワーク通信方法を簡素化するためにホスト ネットワーク アプローチを使用します。 docker-compose を使用してコンテナを管理し、サイドカーを実装することで、シンプルなサービス管理、バージョン管理、クラスター管理、ルーティング ポリシー管理レイヤーが実装されます。クラスター内の各ノード (VM または物理サーバー) に対して docker-compose 構成ファイルが生成され、各ノードのサービスが展開および管理されます。
プログラマブルスイッチは転送プレーングレースケールを実装する
転送プレーンのグレースケール ソ​​リューションの選択に関しては、チームはプログラム可能なスイッチ (Barefoot Tofino チップに基づく) を使用してグレースケール ゲートウェイを実装し、通常のスイッチを置き換えて強力なグレースケール機能を実現しました。
Grayscale Gateway*** は 64 個の 100G インターフェイスを備え、6.4T の帯域幅を提供します。PPS パフォーマンスは 4400 メガビットに達し、レイテンシは 10 万米ドルレベルであるため、ネットワーク ブロードバンドの高性能要件を十分にサポートできます。 Grayscale Gateway は、一貫性のあるハッシュ ECMP 機能を提供できます。任意のカスタム フィールド (内部仮想ネットワーク アドレスやテナント ID を含む) に基づいてハッシュを計算できます。ハッシュを計算する前にグレースケール ルールを適用することを優先し、任意のフィールドに基づいてグレースケール ルールをカスタマイズでき、最小粒度は TCP ストリームによってグレースケール化できます。


転送面のグレースケール例
これらの新しいツールを使用すると、新しい戦略を展開することで、よりきめ細かいグレースケールのリリースを実現できます。具体的な解決策は、プログラム可能なスイッチ BGP がトラフィックを転送するためのクラスター VIP をアナウンスし、選択フィールドに基づいて一貫性のあるハッシュを計算し、トラフィックをバックエンド サーバーに分散し、選択フィールド (VNI、送信元アドレス、宛先アドレス) に従ってグレースケール ルールを構成することです。
グレースケールの手順は次のとおりです。
 VMの粒度に基づいてトラフィックをグレースケールバックエンドサーバーに切り替える
 スイッチ完了後すぐに自動回帰テストを実施し、ルーティングテーブルに基づいて監視アドレスリストを自動生成し、ネットワークの相互運用性をPingテストします。
 テストに合格すると、グレースケールVMアドレスが徐々に増加します
 VPCトラフィック全体がグレースケールバックエンドサーバーに切り替えられるまで
 シャード内のすべての VPC が新しいグレースケールバックエンドサーバーに切り替わるまで、新しい VPC に切り替えます。
 グレースケールリリース完了

上記のコンテンツは、10月12日に上海でUCloudが主催したTech Talk***イベントで初めて公開されました。Tech Talkは、ユーザーとの詳細な技術交流を目的としたUCloudのオフラインイベントです。今後も継続して開催いたしますので、ぜひご参加ください。

<<:  VMwareの将来はまだ予測不可​​能

>>:  確かな情報です! VLANの基本の概要

推薦する

Baidu は最近アルゴリズムを変更しました!

最近、Baidu はアルゴリズムを頻繁に更新しており、それが私たち SEO 担当者を危機に追い込んで...

サイトのパフォーマンスを自慢するよりも、より多くのウェブパフォーマンステストを実施する方が良い

ウェブサイトの広告は至る所で見られ、誇張された宣伝広告は至る所で見られ、苦情の広告情報は至る所で見ら...

競争やツールを利用して自分を宣伝する方法を学ぶ

今日は、A5のウェブサイトに記事を投稿するのは初めてです。一生懸命努力すれば、良い結果が得られるとず...

SEOとネットワークマーケティングの関係についての簡単な説明

現在、国内の状況はトレンドに追随しています。最近、SEOの台頭により、多くのSEOトレーニング機関が...

高品質な外部リンクを素早く作成する方法を共有する

筆者は1年以上SEOに取り組んでおり、現在では毎日10以上の外部リンクを維持しています。多くの人から...

chicagovps-$39/C2750 オクタコア/8g メモリ/250g ハードドライブ/10T トラフィック/5IP

chicagovps からプロモーション メールが届きました。主に 4 台のサーバーとエンタープライ...

キーワードの選択は重要

キーワードは、SEO 最適化を行う際に最も基本的なものです。 したがって、SEO作業を行う際には、キ...

2024 年に無視できない 6 つのクラウド セキュリティの脅威

新年を迎えるにあたり、マルチクラウド環境に影響を及ぼす可能性のある脅威を理解することは、ほんの第一歩...

Kubernetes Podの排除に関する詳細な説明

Kubernetes Pod が削除されるとはどういう意味ですか?これらは通常、リソース不足のために...

Dockerコンテナを使用してポータブルな分散アプリケーションを構築する

クラウド コンピューティングとコンテナ化テクノロジの急速な発展により、アプリケーションのコンテナ化は...

ccihosting-パナマホスト/苦情防止ホスト/著作権フリーホスト/無制限コンテンツホスト

ccihosting.com は、2002 年に設立されたパナマのホスティング会社です。著作権、反苦...

クラウドコンピューティングを他の人に説明するにはどうすればよいでしょうか?

クラウド コンピューティングの本質は、共有リソース プール内のリソースに、ネットワークを介していつで...

8年間の経験、SEOをより効率的にする5つの最適化のヒント

私が誤ってウェブマスターになった2005年から、この8年間は何度か経過しましたが、私はインターネット...

HarmonyOS 分散アプリケーション フレームワークの詳細な解説

[[439631]]詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したH...

タオバオストアのプロモーションによりトラフィックが飛躍的に増加します

今日は私が以前お店を経営していた時に使っていたこの方法を紹介します。結果は素晴らしく、コンバージョン...