概要パブリック クラウドに展開された 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:
|
<<: クラウドネイティブセキュリティ専門家の観察: コンテナクラウドセキュリティの現状と開発動向
>>: スーパーグリーンクラウドコンピューティングについてお話しましょう
[[442097]]長時間実行されるクラスターでは、さまざまなリソース枯渇の問題が発生することがよく...
周知のとおり、ウェブサイトを最適化するプロセスではユーザーエクスペリエンスが重要であり、Baidu ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています公式サイト...
この記事では、主に高品質なキーワードを選別し分析するための 2 つの主な方法を紹介します。まず、Go...
実際、ウェブサイトの最適化は、ウェブサイトの立ち上げから運用までの一連の手段であり、これらの手段には...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス現在、小紅書はますます企...
v.psは今年のダブル12に向けて特別イベントを開始しました。英国、ドイツ、オランダのクラウドサーバ...
みなさんこんにちは。私は SEO に 2 年間携わっています。それ以前はプログラマーでした。多数のウ...
ウェブサイトの準備作業(ウェブサイトのコンテンツの入力とウェブサイトのタイトルの設定)が完了したら、...
すべてのウェブサイトの運命はプログラマーの手中にあると言えます。なぜなら、ウェブサイトを他のウェブサ...
arminds は、2011 年に米国フロリダ州で登録された会社です。Two Man という名前で、...
みなさんこんにちは、私の名前はShitouです。最近、私のA5アカウントが頻繁にキャンセルされ、とて...
中国市場での需要が非常に大きく、中国の顧客があらゆる場所で買い物をしているからかもしれません。そのた...
Naiyun の最新の中秋節と国慶節特別オファーが始まりました: クラウド サーバーの月額支払いは ...
端午節の休暇中、私はとても快適に休んでいました。仕事のことを考えず、外にも出かけませんでした。スーパ...