概要パブリック クラウドに展開された 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:
|
<<: クラウドネイティブセキュリティ専門家の観察: コンテナクラウドセキュリティの現状と開発動向
>>: スーパーグリーンクラウドコンピューティングについてお話しましょう
月収10万元の起業の夢を実現するミニプログラム起業支援プラン競争が激しいレッドオーシャンで生き残るの...
VMWARE 仮想化環境の普及に伴い、ますます多くの VMWARE ベースのアプリケーションをバック...
いつからかは覚えていませんが、SEOの外部リンク操作は役に立たないという話をよく聞きました。とにかく...
11月3日、2022年雲奇カンファレンスにおいて、アリババクラウドインテリジェンスの社長である張建鋒...
[[226527]]背景Alibaba グループ内の顧客にサービスを提供する際に、HiTSDB 時系...
ハイブリッド クラウド コンピューティングは、パブリック クラウド、企業内のプライベート クラウド、...
現代は経験がものを言う時代であると言っても過言ではありません。大量消費財を製造する人々は、今日では消...
Baiduのアルゴリズムのアップグレードに伴い、多くのオリジナル記事が含まれなくなりました。なぜでし...
クラウドコンピューティング、5G、ビッグデータ、人工知能などの新興技術の急速な発展に伴い、データセン...
【はじめに】インターネット上にはどれくらいの重複コンテンツがあるのでしょうか?インターネット上で重複...
SEOとは何ですか? SEO の正式名称は Search Engine Optimization で...
昨日、たまたまネットで記事を見ました。どのページだったかは覚えていませんが、長年 SEO に携わって...
まず最初に、ここで言及されている医療 SEO は、病院の Web サイトの SEO に特化しているこ...
外部リンクが王様で、内部リンクが最も重要だと言われています。では、ウェブサイトで内部リンクをうまく活...
みなさんこんにちは、ザックです。SEO 業界には「コンテンツは王様、外部リンクは女王」という有名な格...