# ロードバランサー

マネージドFKE製品はKubernetesネイティブから開発され、FPT CLOUD Controller Managerコンポーネントを含むクラウドプロバイダーコンポーネントとしてKubernetesと統合されています。このコンポーネントはクラスター内のワーカーノードとロードバランサー型サービスを管理します。ユーザーはアプリケーションをインターネットに公開し、顧客がアプリケーションやサービスにアクセスできるようにする複数の方法を利用できます。これらの方法には、サービスへのイングレスの作成、NodePort型サービスの作成と仮想マシンワーカーノードへのフローティングIPの割り当て、またはロードバランサー型サービスの使用が含まれます。

FPTCloudはロードバランサー型サービスの作成をサポートし、そのロードバランサーにパブリックIPアドレスを自動割り当てします。ロードバランサー型サービスを使用する場合、ワーカーノード用のデフォルトロードバランサー作成に加え、サービスマニフェストファイル内のアノテーションを用いてロードバランサーにオプション設定を追加できます。

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"> キー</td><td valign="top"> 価値</td><td valign="top"> デフォルト</td><td valign="top"> 意味</td></tr><tr><td valign="top"> service.beta.kubernetes.io/fpt-load-balancer-internal</td><td valign="top"> 真/偽</td><td valign="top">偽</td><td valign="top"> サービスがインターネットに公開されているかどうか。公開されていない場合、ロードバランサーに接続するフローティングIPは作成されません。</td></tr><tr><td valign="top"> loadbalancer.fptcloud.com/enable-ingress-hostname</td><td valign="top">真/偽</td><td valign="top"> 偽</td><td valign="top"> プロキシプロトコルと組み合わせて使用され、ポッド内部からインジェストドメインへの接続を可能にします。</td></tr></tbody></table>

ユーザーはユースケースに基づいてサービス構成にアノテーションを追加することで、ロードバランサースタイルのサービスを作成できます。

**例：**

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2F2LWnkbXWXoNqhY62HwCS%2Fimage.png?alt=media&#x26;token=b1ff65fa-d67b-4224-8fb5-3cabaebd1d37" alt=""><figcaption></figcaption></figure>

この図は、タイプを「advanced」に設定したロードバランサー型サービスの作成を示しています。マニフェストファイルをサービスに適用すると、k8sクラスター上でロードバランサー型サービスが取得されます。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2Fyus80Fhc6Xk5pUeGbObo%2Fimage.png?alt=media&#x26;token=a4dcbf20-2f53-46c9-990a-b9264cc686ee" alt=""><figcaption></figcaption></figure>

外部IPコンポーネントの状態が「保留中」から「パブリックIP」に変更されると、アプリケーションはパブリックIPまたはそのパブリックIPを使用するドメイン経由でインターネット外部からアクセス可能になります。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2F4MkZn226SUhorUARHTPF%2Fimage.png?alt=media&#x26;token=a55ca5fb-f529-4128-b7fc-a0ca2bb31d2e" alt=""><figcaption></figcaption></figure>

ユーザーはクラスター外部からアクセスできない内部タイプのロードバランサーサービスを作成することもでき、これにより内部サービス間でのみ呼び出しが可能になります。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2FAqaiP0bwt3hqZylIPOS5%2Fimage.png?alt=media&#x26;token=50b3af43-d08f-4734-a7ce-79ecfc1d5f92" alt=""><figcaption></figcaption></figure>

内部サービスが作成されると、その `external-ip` はパブリックIPアドレスではなく、プライベートIPアドレスになります。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2FlLivIDcniRKlpHQSPkrL%2Fimage.png?alt=media&#x26;token=06edd2cd-d56a-42b0-bea4-b59eb6d43b95" alt=""><figcaption></figcaption></figure>

さらに、M-FKEは以下のようにユーザーをサポートします：

* サービス構成の\`spec\`セクションで\`loadBalancerIP\`設定を指定すると、パブリックIPアドレスを持つサービスを作成できます。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2FXrUcP3emcoO9LGjqlnxF%2Fimage.png?alt=media&#x26;token=c9995368-788d-46d1-bc4d-618b5003fbc2" alt=""><figcaption></figcaption></figure>

パブリックIPはVPCに割り当てられ、非アクティブ状態である必要があります。ユーザー&#x306F;**\[Networking]** -> \[**Floating Ips**]でこれを確認できます。

* サービス構成の\`spec\`セクションにある\`loadBalancerSourceRanges\`設定を使用して、ロードバランサーへのアクセスを制限します。

<figure><img src="https://3391344305-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGAUMHLFxqEa9L8vyA1W%2Fuploads%2FSdjGW1v42EcyvLWjsdm4%2Fimage.png?alt=media&#x26;token=f6815835-a6c6-46f8-8376-31afdbdde135" alt=""><figcaption></figcaption></figure>

\`loadBalancerSourceRanges\`設定には、ロードバランサーへのアクセスが許可されるパブリックIPアドレスの範囲（ ）が含まれます。デフォルトでは、M-FKEはIPソース範囲設定が0.0.0.0/0のロードバランサーサービスタイプを作成します。

* さらに、ロードバランサープールでPROXY PROTOCOLを使用したい場合は、FPTCloudにサポートを依頼してください。
