すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:カスタムゲートウェイの構成

最終更新日:Nov 09, 2025

Gateway with Inference Extension は Envoy Gateway に基づいています。サービスタイプ、デプロイメントのレプリカ数、リソースなどのゲートウェイパラメーターは、EnvoyProxy リソース構成を変更することで調整できます。このトピックでは、さまざまなスコープを持つゲートウェイのレプリカ数とリソース使用量を構成する方法について説明します。

構成の説明

Gateway with Inference Extension コンポーネントを使用して生成 AI 推論サービスを管理する場合、GatewayClass および Gateway リソースを作成します。

EnvoyProxy リソースを関連付けることで、Gateway のレプリカ数やリソース使用量などの実行時パラメーターを定義できます。リソースは 2 つの方法で関連付けることができます。

  • きめ細かい構成 (単一のゲートウェイの場合): EnvoyProxy リソースを特定の Gateway リソースに直接関連付けて、Gateway を個別に構成します。

  • 統一構成 (ゲートウェイクラス全体): EnvoyProxy リソースを GatewayClass に関連付けます。これにより、この GatewayClass 内で個別に構成されていないすべての Gateway リソースは、これらの統一されたリソースパラメーターを継承します。

重要

両方の構成が存在する場合、個別に構成されたゲートウェイリソースのパラメーターが優先されます。

ゲートウェイの構成を指定する

Gateway リソースの infrastructure フィールドで EnvoyProxy リソースを参照することで、Gateway のレプリカ数とリソース使用量を構成できます。以下に例を示します。

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: eg
spec:
  gatewayClassName: eg
  infrastructure:
    parametersRef:
      group: gateway.envoyproxy.io
      kind: EnvoyProxy
      name: custom-proxy-config
  listeners:
    - name: http
      protocol: HTTP
      port: 80
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
  name: custom-proxy-config
spec:
  provider:
    type: Kubernetes
    kubernetes:
      envoyDeployment:
        replicas: 2
        container:
          resources:
            requests:
              cpu: 500m
              memory: 1Gi
            limits:
              cpu: 1
              memory: 2Gi

上記の例では、Gateway リソースの infrastructure フィールドが parametersRef フィールドを使用して、custom-proxy-config という名前の EnvoyProxy リソースを参照しています。これにより、レプリカ数とリソース使用量が構成されます。

重要

ゲートウェイリソースは、同じ名前空間内の EnvoyProxy リソースのみを参照できます。

GatewayClass の構成を指定する

GatewayClass リソースで EnvoyProxy リソースを参照することで、GatewayClass に属するすべての Gateway リソースのレプリカ数とリソース使用量を設定することもできます。 以下に例を示します。

apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: eg
spec:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
  parametersRef:
    group: gateway.envoyproxy.io
    kind: EnvoyProxy
    name: custom-proxy-config
    namespace: default
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
  name: custom-proxy-config
  namespace: default
spec:
  provider:
    type: Kubernetes
    kubernetes:
      envoyDeployment:
        replicas: 2
        container:
          resources:
            requests:
              cpu: 500m
              memory: 1Gi
            limits:
              cpu: 1
              memory: 2Gi

上記の例では、GatewayClass リソースの parametersRef フィールドが、custom-proxy-config という名前の EnvoyProxy リソースを参照して、レプリカ数とリソース使用量を構成しています。

EnvoyProxy リソースの完全な構成と共通フィールド

次のコードは、EnvoyProxy リソースの完全な構成例を示しています。

apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
  name: custom-proxy-config
spec:
  provider:
    type: Kubernetes
    kubernetes:
      envoyDeployment:
        replicas: 2  # envoyHpa も構成されている場合は、replicas を構成する必要はありません。
        strategy:
          rollingUpdate:
            maxSurge: 2
            maxUnavailable: 1
        pod:
          affinity: ...
          tolerations: ...
          nodeSelector: ...
        container:
          resources:
            requests:
              cpu: 500m
              memory: 1Gi
            limits:
              cpu: 1
              memory: 2Gi
      envoyService:
        annotations:
          key: value
        labels:
          key: value
        type: LoadBalancer
        loadBalancerClass: ...
        externalTrafficPolicy: Cluster # または Local
      envoyHpa:
        minReplicas: 1
        maxReplicas: 10
        metrics:
        - type: Resource
          resource:
            name: cpu
            target:
              type: Utilization
              averageUtilization: 80
        - type: Resource
          resource:
            name: memory
            target:
              type: Utilization
              averageUtilization: 80
      envoyPDB:
        minAvailable: 1
重要

envoyDeploymentenvoyHpa の両方を構成する場合、envoyDeployment の下に replicas を構成する必要はありません。

このセクションでは、いくつかの一般的なフィールドのみをリストしています。EnvoyProxy リソースの完全な定義については、「EnvoyProxy」をご参照ください。

フィールド

タイプ

必須

説明

envoyDeployment

KubernetesDeploymentSpec

いいえ

カスタムゲートウェイのワークロード構成。

envoyService

KubernetesServiceSpec

いいえ

カスタムゲートウェイのサービス構成。

envoyHpa

KubernetesHorizontalPodAutoscalerSpec

いいえ

カスタムゲートウェイの Horizontal Pod Autoscaler (HPA) 構成。

envoyPDB

KubernetesPodDisruptionBudgetSpec

いいえ

カスタムゲートウェイの PodDisruptionBudget (PDB) 構成。