Flex Gateway新着情報
Governance新着情報
Monitoring API Manager通常、ローカルモードの Kubernetes デプロイメントでは、Flex Gateway は Kubernetes クラスターへの外部アクセスを管理するイングレスコントローラーとして機能します。
デフォルトでは、ローカルモードで Kubernetes にデプロイされた Flex Gateway はイングレスコントローラーとして設定され、Ingress リソースをコンシュームできます。イングレスコントローラーの設定は、Flex Gateway Helm チャートの IngressClass リソースパラメーターで定義されます。
Kubernetes 用語では、IngressClass リソースでゲートウェイをイングレスコントローラーとして設定し、Ingress リソースでイングレスコントローラーと、イングレスコントローラーで制御する Kubernetes サービス間のルーティングを設定します。Kubernetes の IngressClass リソースと Ingress リソースについての詳細は、 Kubernetes Ingress を参照してください。
Helm チャートでは、IngressClass 設定を編集したり、イングレスコントローラーの機能を無効にしたりできます。
Helm チャートには次のデフォルトの IngressClass パラメーターと値が含まれます。
ingressClass.enabled: true
ingressClass.name: "{releaseName}-{namespace}"
ingressClass.setAsDefault: false
パラメーター |
説明 |
可能な値 |
|
Flex Gateway を |
|
|
|
任意の文字列 |
|
Flex Gateway をデフォルトの |
|
ingressClass.setAsDefault: true の設定により、Flex Gateway インスタンスがクラスターのデフォルトの IngressClass リソースとして定義されます。デフォルトの IngressClass は、クラスターに作成するすべての Ingress リソースのデフォルトのイングレスコントローラーになります。
デフォルトの IngressClass がない場合や、デフォルトの IngressClass リソースを特定のリソースのイングレスコントローラーとすることができない場合、Ingress リソースでイングレスコントローラーを手動で定義する必要があります。
デフォルトの IngressClass パラメーターは、Helm チャートの初期インストール中または初期インストール後に変更することができます。Helm チャートを変更する方法についての詳細は、Helm チャートを介した Flex Gateway デプロイメントのポッド設定の更新を参照してください。
Helm チャートを名前空間にインストールしたら、次のコマンドを実行して新しい IngressClass リソースを検証できます。
kubectl get ingressclasses
イングレスルーティングを作成する手順は、次のとおりです。
新しい API を Kubernetes サービスとして定義します。
Kubernetes サービス定義についての詳細は、 「Defining a Service (サービスの定義)」を参照してください。
kubectl apply を使用して、IngressClass Flex Gateway と新しい Kubernetes サービス間のルーティングルールを定義する Ingress リソースを作成します。
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を参照してください。