概要パブリック クラウドに展開された Kubernetes クラスターでは、パブリック クラウド ベンダーが LoadBalancer タイプのサービスを提供します。ただし、ローカル環境に基づいてデプロイされた k8s クラスターは、私たちがよく使用するテスト環境と開発環境です。外部トラフィックは NodePort と externalIP を介してクラスターに導入する必要があり、多くの不便が生じます。 特に、Helm を介して一部のサービスをデプロイする場合、LoadBalancer のリソース タイプに依存することが多く、作成されたサービス内のtype: LoadBalancers が常に Pending 状態になります。ウェアハウスを取得して、値を手動で変更する必要があります。 Metallb は標準のルーティング プロトコルを使用してこの問題を解決します。 MetalLBもCNCFサンドボックスプロジェクトであり、最初にリリースされたのは MetalLB はMetalLB フックを通じてSVCの変更を監視します。次に、スピーカーコンポーネントを介して対応するモードを使用して、外部トラフィックをKubernetesクラスターノードの到達可能なパスに送信します。具体的には、Pod 内では、トラフィックは転送モード (iptables または ipvs) に従ってkuber-proxyを介して Pod に転送されます。 MetaLB はホスト ディメンションからの負荷分散を担当し、ポッド レプリカ間の負荷はkube-proxyを通じて実現されます。 MetalLB は、IP アドレスの割り当て、設定されたブロードキャスト モードに従ったブロードキャスト、ノードの選択、ノードのフェイルオーバーなどの機能を担当します。トラフィック転送プロセスは、ARP、NDP、BGP 標準ルーティング プロトコルを通じて実現されます。 2つの主な機能:
動作モード:
詳細については、公式ドキュメントhttps://metallb.universe.tf/ を参照してください。 建築2 層デプロイメントのアーキテクチャ図については、Red Hat OpenShift の公式ドキュメントを参照してください。 上の図は、MetalLB に関連する次の概念を示しています。
展開する環境要件クラスターのバージョン情報は次のとおりです。 MetalLB をサポートする CNI は次のとおりです。
注記:
apiバージョン: kubeproxy 。 設定。 k8s 。 io / v1alpha1 Helm経由でインストールMetalLB は、Kubernetes マニフェスト、Kustomize、Helm を使用してインストールできます。ここでは helm を使用してインストールします。 $ helm リポジトリに metallb を追加します https://metallb.github.io/metallb 以下のようにインストールを確認します metallb-system名前空間の下に、次の 2 つのコンポーネントがインストールされます。
スピーカーポッドは、IPv4 サービスと IPv6 の NDP 要求に応答します。 マニフェスト経由でインストールMetalLB をインストールするには、yaml アプリケーション マニフェストを使用します。 $ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.4/config/manifests/metallb-native.yaml 構成クラスターはテスト環境で動作するため、L2 動作モードを使用します。 レイヤー 2 モードは最も簡単に始めることができ、あらゆる環境で動作します。特別なルーターは必要ありません。 負荷分散サービスに割り当てる IP アドレス プールを定義します。 metallb の新しいバージョンでは、CR (カスタム リソース) が使用されます。ここでは、 IPAddressPoolの CR を通じてアドレス プールを定義します。 インスタンスにIPAddressPoolセレクターL2Advertisement が設定されていない場合、 L2AdvertisementはデフォルトでインスタンスのすべてのIPAddressPoolsに関連付けられます。 metallb-config-ipaddresspool.yaml を作成します。 apiバージョン: metallb .io / v1beta1 L2 関連アドレス プールをバインドします。ここでタグセレクターも使用できます。 metallb-config-L2Advertisement.yaml を作成します。 apiバージョン: metallb .io / v1beta1 テストテスト用に LoadBalancer タイプの SVC を作成し、yaml ファイルtutorial-1.yaml を作成します。 apiバージョン: アプリ/ v1 結果は次の図に示されています。 ブラウザ経由でアクセス: 参考URL:
|
<<: クラウドネイティブセキュリティ専門家の観察: コンテナクラウドセキュリティの現状と開発動向
>>: スーパーグリーンクラウドコンピューティングについてお話しましょう
KOC という用語は、最近非常に人気が高まり、私のマーケティング業界のグループや友人の輪のいたるとこ...
はじめに: Baidu が「トップ 10 リアルタイム ホットスポット」(Baidu ホームページの...
長い間売上に圧倒されてきた企業のマーケティング担当者は、次第に数字しか見なくなります。最大限のパフォ...
Hiformance のイースターが到来し、2 つの VPS が特別価格で提供されています: [1]...
今朝早くから、中国のAppleのApp Storeに1元アプリやゲームが多数登場した。情報筋によると...
SEO について少し知っている人にとって、SEO ではまずウェブサイトのホームページのレイアウトが適...
Alibaba の Double 11 フラッシュセールなどの高同時実行ビジネス シナリオでは、メッ...
前回の周旭生の記事では、「初心者が身につけるべきウェブサイト診断と最適化のスキル」を紹介しました。前...
2013 年、英国政府は、公共部門の組織が他の選択肢よりも先にクラウド コンピューティング ソリュー...
いわゆる「仮想マシン バイトコード実行エンジン」は、実際には、クラス ファイルに指定されたバイトコー...
Hostmantis は 2010 年に設立された小規模なホスティング会社です。当初は Plexih...
[[405394]]この記事はWeChatの公開アカウント「Big Data DT」から転載したもの...
IDC Review Network (idcps.com) は 4 月 14 日に次のように報告し...
Dogyunの618イベントがここにあります。クラウドサーバーには、香港Alibaba Cloudラ...
現在、ウェブサイトの最適化に携わるウェブマスターの友人の大半にとって、ユーザー エクスペリエンスは皆...