---
schema_version: "1"
id: 47b8c39ff2e5306a55ba4ff6c8525d7e76617e3e677b4c8b1977b39150d2906e
title: ローカルモードでのイングレスコントローラーとしての Flex Gateway の設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/gateway/1.8/flex-gateway-k8-ingress-class.md
canonical_url: https://docs.mulesoft.com/jp/gateway/1.8/flex-gateway-k8-ingress-class
source_site: docs.mulesoft.com
content_type: documentation
content_hash: ee8c85e9e776caf15c5cb8199d524ae696bfb137aa9dda7577872cbeb4d8b238
description: MuleSoft Documentation Site
release: "1.8"
latest: false
---
# ローカルモードでのイングレスコントローラーとしての Flex Gateway の設定

通常、ローカルモードの Kubernetes デプロイメントでは、Flex Gateway は Kubernetes クラスターへの外部アクセスを管理するイングレスコントローラーとして機能します。

デフォルトでは、ローカルモードで Kubernetes にデプロイされた Flex Gateway はイングレスコントローラーとして設定され、​`Ingress`​ リソースをコンシュームできます。イングレスコントローラーの設定は、Flex Gateway Helm チャートの ​`IngressClass`​ リソースパラメーターで定義されます。

Kubernetes 用語では、​`IngressClass`​ リソースでゲートウェイをイングレスコントローラーとして設定し、​`Ingress`​ リソースでイングレスコントローラーと、イングレスコントローラーで制御する Kubernetes サービス間のルーティングを設定します。Kubernetes の ​`IngressClass`​ リソースと ​`Ingress`​ リソースについての詳細は、 [Kubernetes Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)​ を参照してください。

Helm チャートでは、​`IngressClass`​ 設定を編集したり、イングレスコントローラーの機能を無効にしたりできます。

## [](#始める前に)始める前に

1. [Kubernetes クラスターで使用する Flex Gateway をダウンロードします](https://docs.mulesoft.com/jp/gateway/1.8/flex-install#kubernetes)​。
2. [ローカルモードの Kubernetes クラスターで Flex Gateway を登録して実行します](https://docs.mulesoft.com/jp/gateway/1.8/flex-local-reg-run)​。

## [](#イングレスクラスパラメーター)イングレスクラスパラメーター

Helm チャートには次のデフォルトの ​`IngressClass`​ パラメーターと値が含まれます。

```helm
ingressClass.enabled: true
ingressClass.name: "{releaseName}-{namespace}"
ingressClass.setAsDefault: false
```

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 40%;">
<col style="width: 40%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">パラメーター</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">説明</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">可能な値</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ingressClass.enabled</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Flex Gateway を ​<code>IngressClass</code>​ リソースとして有効化する</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>​ または ​<code>false</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ingressClass.name</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IngressClass</code>​ の名前</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">任意の文字列</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ingressClass.setAsDefault</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Flex Gateway をデフォルトの ​<code>IngressClass</code>​ として設定する</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>​ または ​<code>false</code></p></td>
</tr>
</tbody>
</table>

`ingressClass.setAsDefault: true`​ の設定により、Flex Gateway インスタンスがクラスターのデフォルトの ​`IngressClass`​ リソースとして定義されます。デフォルトの ​`IngressClass`​ は、クラスターに作成するすべての ​`Ingress`​ リソースのデフォルトのイングレスコントローラーになります。

デフォルトの ​`IngressClass`​ がない場合や、デフォルトの ​`IngressClass`​ リソースを特定のリソースのイングレスコントローラーとすることができない場合、​`Ingress`​ リソースでイングレスコントローラーを手動で定義する必要があります。

デフォルトの ​`IngressClass`​ パラメーターは、Helm チャートの初期インストール中または初期インストール後に変更することができます。Helm チャートを変更する方法についての詳細は、[Helm チャートを介した Flex Gateway デプロイメントのポッド設定の更新](https://docs.mulesoft.com/jp/gateway/1.8/flex-gateway-k8-change-helm-settings)を参照してください。

## [](#イングレスリソースの作成)イングレスリソースの作成

[Helm チャートを名前空間にインストール](https://docs.mulesoft.com/jp/gateway/1.8/flex-local-reg-run-up#kubernetes)​したら、次のコマンドを実行して新しい ​`IngressClass`​ リソースを検証できます。

```helm
kubectl get ingressclasses
```

イングレスルーティングを作成する手順は、次のとおりです。

1. [ローカルモードで API をパブリッシュします](https://docs.mulesoft.com/jp/gateway/1.8/flex-local-publish-simple-api#kubernetes)​。
2. 新しい API を Kubernetes サービスとして定義します。  
    Kubernetes サービス定義についての詳細は、 [「Defining a Service (サービスの定義)」](https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service)​を参照してください。
3. `kubectl apply`​ を使用して、​`IngressClass`​ Flex Gateway と新しい Kubernetes サービス間のルーティングルールを定義する ​`Ingress`​ リソースを作成します。
    
    ```ssh
    cat <<EOF | kubectl apply -f -
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: <metadata-name>
      annotations:
        flex-gateway.ingress.kubernetes.io/api-instance: <api-instance-name>.<namespace>
    spec:
      ingressClassName: <ingress-class-name>
      rules:
      - http: ...
    EOF
    ```
    
    `annotations`​ 項目値は、API の定義時に指定した API インスタンス名および名前空間に一致する必要があります。
    
    ゲートウェイインスタンスをデフォルトのイングレスコントローラーとして設定している場合、​`ingressClassName`​ 項目を省略します。
    
    `Ingress`​ リソースについての詳細は、 [Kubernetes Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)​を参照してください。

## [](#関連情報)関連情報

- [Helm チャートを介した Flex Gateway デプロイメントのポッド設定の更新](https://docs.mulesoft.com/jp/gateway/1.8/flex-gateway-k8-change-helm-settings)
- [Kubernetes デプロイメントの管理](https://docs.mulesoft.com/jp/gateway/1.8/flex-gateway-k8-management)