Kubernetes ロードバランサー MetalLB

Kubernetes ロードバランサー MetalLB

導入

Kubernetes では、Loadbalancer を使用して外部サービスを提供できます。一般的なクラウド環境では、対応する負荷分散製品が存在します。

クラウド以外の環境の場合は、Kubernetes で LoadBalancer サービスを提供する MetalLB を使用できます。

MetalLB は IP アドレスを無から作成することはできないため、使用できる IP アドレスのプールを提供する必要があります。

MetalLB がサービスに外部 IP アドレスを割り当てたら、クラスター外部のネットワークに、この IP がクラスター内に「存在する」ことを認識させる必要があります。

プロトコル

レイヤー 2 モード (ARP/NDP): LAN の観点から見ると、ブロードキャスターは単に複数の IP アドレスを持っているだけです。

欠点:

  • 単一ノードのボトルネックがあります: IP は単一ノードに割り当てられるため、ノードのネットワーク ボトルネックが負荷分散のボトルネックになります。
  • フェイルオーバーが遅い: IP に関連付けられた MAC アドレスが変更され、クライアント ARP テーブルが時間内に更新されない可能性があり、フェイルオーバーが遅くなります。

BGP モード: BGP モードでは、クラスター内のすべてのコンピューターが、ユーザーが制御する近くのルーターと Border Gateway Protocol ピアリング セッションを確立し、それらのルーターにトラフィックをサービス IP に転送する方法を指示します。 BGP を使用すると、複数のノード間で真の負荷分散を実現し、BGP のポリシー メカニズムを通じてきめ細かいトラフィック制御を実装できます。

最大の欠点は、BGP ベースの負荷分散では、アドレス バックエンドの集中度の変化に適切に対応できないことです。つまり、クラスター ノードに障害が発生すると、サービスへのアクティブな接続がすべて失われることになります。

ネットワークプラグイン

MetalLB は、Canal、Cilium、Flannel、Kube-ovn などのネットワーク プラグインを完全にサポートします。

kube-proxy が IPVS モードで実行されている場合は、strictARP: true を設定する必要があります。

 kubectl edit configmap - n kube - システムkube - プロキシ
 apiバージョン: kubeproxy設定k8sio / v1alpha1
種類: KubeProxyConfiguration
モード: "ipvs"
IPvs :
strictARP :

インストール

 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.3/config/manifests/metallb-native.yaml

または、helm 経由でインストールします。

 helm リポジトリmetallb を追加しますhttps://metallb.github.io/metallb
helm インストールmetallb metallb / metallb

レイヤー2プロトコル構成

割り当てられた IP プールを構成します。

 apiバージョン: metallb .io / v1beta1
種類: IPアドレスプール
メタデータ:
名前: ファーストプール
名前空間: metallb - システム
仕様:
住所:
- 192.168.128./24
- 192.168 .122 .200 - 192.168 .122 .240
- fca0 : fe53 : 0 ccd : e799 :: / 124

L2Advertisement で IP プールが指定されていない場合は、デフォルトですべての IP プールに関連付けられます。

 apiバージョン: metallb .io / v1beta1
種類: L2広告
メタデータ:
名前:
名前空間: metallb - システム

IP プールを手動で指定することもできます。

 apiバージョン: metallb.io/v1beta1
種類: L2広告
メタデータ:
名前:
名前空間: metallb-system
仕様:
ipアドレスプール:
-最初の-プール

BGPプロトコル構成

MetalLB が 1 つ以上の外部 BGP ルータとのセッションを確立する方法を設定する必要があります。

1 つの BGP ルータと 1 つの IP アドレス範囲を使用した基本構成の場合:

  • MetalLB が接続するルーターの IP アドレス。
  • ルーターの AS 番号。
  • MetalLB が使用する AS 番号。
  • CIDR プレフィックスとして表現される IP アドレス範囲。
 apiバージョン: metallb .io / v1beta2
種類: BGPPeer
メタデータ:
名前: サンプル
名前空間: metallb - システム
仕様:
私のASN : 64500
ピアASN : 64501
ピアアドレス: 10.0.0.1
---
apiバージョン: metallb .io / v1beta1
種類: IPアドレスプール
メタデータ:
名前: ファーストプール
名前空間: metallb - システム
仕様:
住所:
- 192.168 .1 .240 - 192.168 .1 .250
---
apiバージョン: metallb .io / v1beta1
種類: BGP広告
メタデータ:
名前:
名前空間: metallb - システム
仕様:
ipアドレスプール:
- 最初- プール

使用

サービスを設定するときに、type: LoadBalancer を変更して設定を保存すると、割り当てられた IP アドレスが表示されます。

 kubectl get svc -A

要約する

クラウド環境では、LB 製品を直接使用する方が安定しており便利です。テスト環境であればMetalLBを使用することでコストを節約できます。

<<:  エッジコンピューティングの課題にどう対処するか

>>:  画像ハードコアサイエンス: エッジコンピューティングとは何ですか?クラウドコンピューティングとの関係は何ですか?

推薦する

権威あるドメイン名を活用しましょう

ブラックハットSEOとグレーハットSEOの話題を続けます。今日は、他の人の権威の高いドメイン名をどの...

コンテナレジストリを選択するにはどうすればいいですか?ここに9つの選択肢があります

2013 年にオープンソースの Docker エンジンがリリースされて以来、コンテナ化はクラウド ア...

ブランドマーケティング手法を総括しよう!

ブランド**は、恐怖、仲間からの圧力、性的暗示など、多くの一般的な「**」の方法について言及しました...

パブリックアカウントKOL向け、チャンネル運用の落とし穴を回避するガイド!

以前の会社でパブリックアカウントの運用を始めて、最初はCPSのみでしたが、後に有料広告も行うようにな...

クリニックを経営する医師は、ウェブサイトを構築するときに感じる気持ちをよく知っています。

半月前、誰かが私のQQにたくさんのメッセージを送信しました。広告だと思って見ませんでした。数日後にこ...

Baidu の新しい入札アイコンについてどう思いますか?

読者の皆さん、この動きについてどう思いますか?Weiboを閲覧していたときにこれを見ました。Baid...

電子商取引の 5 つのホットなトレンド: モバイルに最適化されたウェブサイト

北京時間7月11日、外国メディアの報道によると、決済処理および情報プラットフォームサービスプロバイダ...

Douyin アシスタント ソフトウェア_Douxiaozhu カスタマー サービス ソフトウェアはいかがでしょうか?特徴は何ですか

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスDouyin Assis...

今年上半期のライブストリーミングeコマース業界の洞察

ライブストリーミング電子商取引が新たな発展段階に入るにつれ、さまざまなプラットフォームも新しいルール...

検索エンジンにおけるフレンドリーリンクの割合についての簡単な説明

フレンドリー リンクは、SEO の観点から見て高品質な外部リンクであり、Web サイトの SEO に...

ゴミ分類とエッジコンピューティングの関係について

シャオミンは普通の市民です。シャオミンさんは、近所の人たちと同じように、毎日、家庭ごみを混ぜて共同ゴ...

エッジコンピューティングをクラウドアーキテクチャに統合することの利点と欠点

[[428620]]必要なのは、クラウド アーキテクチャを使用したエッジ コンピューティングです。エ...

Ceph の運用とメンテナンスで分散ストレージの「落とし穴」を知る

過去 2 年間、私の主な仕事は Hadoop テクノロジー スタックでしたが、最近 Ceph に触れ...

クラウドネイティブデータベースがデジタルイノベーションの力を発揮

人類が誕生して以来、データの記録と処理能力の探求は止まることはありませんでした。たとえば、古代におけ...

リモートワークにおけるクラウドドキュメントストレージの 5 つのメリット

オンプレミス インフラストラクチャとクラウド プラットフォームのどちらを採用するかのメリットについて...