概要パブリック クラウドに展開された 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:
|
<<: クラウドネイティブセキュリティ専門家の観察: コンテナクラウドセキュリティの現状と開発動向
>>: スーパーグリーンクラウドコンピューティングについてお話しましょう
以前、私が取り組んでいた彫刻機の Web サイトで、10 を超える外部リンクが機能しなくなり、すべて...
ブランド、新しい消費、マーケティングに関して、私は以前に考えたことのいくつかを記録し、それを 50 ...
これまでB商品のプロモーション方法についてはあまり話したことがなかったのですが、最近パソコンレンタル...
ファッションブランドの価値は、強調することと隠すことの2つだけです。強調するということは、ファッショ...
インターネットの急速な発展により、多くの伝統的な企業が急速に電子商取引へと転換するとともに、企業のウ...
Kubernetes クラスターを監視することは、コンテナ化されたアプリケーションの健全性、パフォー...
テキスト | 李星外食産業はほとんどの産業よりも市場規模が大きい。国家統計局が発表したデータによると...
usdedicated はメモリアル デーに突然大きなプロモーションを発表しました。新規に購入したサ...
当社は、リンクリクエスト数、ダウンロードページ数、ページコンテンツという3つの側面からウェブサイトを...
ウェブサイトのセットアップ後、私たちが最も懸念するのは、ウェブサイトのランキングと掲載であり、これは...
ウェブマスターや業界の友人たちのサポートにより、ウェブマスタートレーニングは26回にわたって成功裏に...
edgenatは新たな国慶節プロモーションを実施しました: (1) 香港CN2、韓国CN2、米国AS...
weloveservers は現在順調に発展しており、年末のクリスマスまでにフルサイト仮想ホスティン...
今日、大規模なハードウェアを購入したり維持したりする必要がないため、コスト、拡張性、効率性の利点を享...
1. 海外のホストが大量にブロックされ、MicrosoftやAlexaなどのウェブサイトにアクセスで...