All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasi Gateway Kustom

Last Updated:Nov 11, 2025

Gateway with Inference Extension didasarkan pada Envoy Gateway. Anda dapat menyesuaikan parameter Gateway, seperti jenis layanan, jumlah replika penerapan, dan sumber daya, dengan memodifikasi konfigurasi sumber daya EnvoyProxy. Topik ini menjelaskan cara mengonfigurasi jumlah replika dan penggunaan sumber daya untuk Gateway dengan cakupan berbeda.

Deskripsi konfigurasi

Saat menggunakan komponen Gateway with Inference Extension untuk mengelola layanan inferensi AI generatif, Anda membuat sumber daya GatewayClass dan Gateway.

Anda dapat menentukan parameter waktu proses suatu Gateway, seperti jumlah replika dan penggunaan sumber daya, dengan mengaitkan sumber daya EnvoyProxy. Terdapat dua cara untuk mengaitkan sumber daya tersebut:

  • Konfigurasi tingkat detail (untuk satu Gateway): Mengaitkan sumber daya EnvoyProxy secara langsung ke sumber daya Gateway tertentu untuk mengonfigurasi Gateway tersebut secara independen.

  • Konfigurasi terpadu (untuk seluruh kelas Gateway): Mengaitkan sumber daya EnvoyProxy ke GatewayClass. Dengan demikian, semua sumber daya Gateway dalam GatewayClass ini yang tidak dikonfigurasi secara independen akan mewarisi parameter sumber daya terpadu tersebut.

Penting

Jika kedua konfigurasi tersedia, parameter dari sumber daya Gateway yang dikonfigurasi secara independen memiliki prioritas lebih tinggi.

Menentukan konfigurasi untuk Gateway

Anda dapat mengonfigurasi jumlah replika dan penggunaan sumber daya untuk Gateway dengan mereferensikan sumber daya EnvoyProxy di bidang infrastructure sumber daya Gateway. Berikut contohnya:

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

Pada contoh di atas, bidang infrastructure dari sumber daya Gateway menggunakan bidang parametersRef untuk mereferensikan sumber daya EnvoyProxy bernama custom-proxy-config, sehingga mengonfigurasi jumlah replika dan penggunaan sumber daya.

Penting

Sumber daya Gateway hanya dapat mereferensikan sumber daya EnvoyProxy dalam namespace yang sama.

Menentukan konfigurasi untuk GatewayClass

Anda juga dapat mengonfigurasi jumlah replika dan penggunaan sumber daya untuk semua sumber daya Gateway yang termasuk dalam GatewayClass dengan mereferensikan sumber daya EnvoyProxy di sumber daya GatewayClass. Berikut contohnya:

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

Pada contoh di atas, bidang parametersRef dari sumber daya GatewayClass mereferensikan sumber daya EnvoyProxy bernama custom-proxy-config untuk mengonfigurasi jumlah replika dan penggunaan sumber daya.

Konfigurasi lengkap dan bidang umum sumber daya EnvoyProxy

Kode berikut memberikan contoh konfigurasi lengkap untuk sumber daya EnvoyProxy:

apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
  name: custom-proxy-config
spec:
  provider:
    type: Kubernetes
    kubernetes:
      envoyDeployment:
        replicas: 2  # Jika envoyHpa juga dikonfigurasi, Anda tidak perlu mengonfigurasi 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 # atau 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
Penting

Jika Anda mengonfigurasi envoyDeployment dan envoyHpa secara bersamaan, Anda tidak perlu mengonfigurasi replicas di bawah envoyDeployment.

Bagian ini hanya mencantumkan beberapa bidang umum. Untuk definisi lengkap sumber daya EnvoyProxy, lihat EnvoyProxy.

Bidang

Tipe

Wajib

Deskripsi

envoyDeployment

KubernetesDeploymentSpec

Tidak

Konfigurasi beban kerja untuk Gateway kustom.

envoyService

KubernetesServiceSpec

Tidak

Konfigurasi layanan untuk Gateway kustom.

envoyHpa

KubernetesHorizontalPodAutoscalerSpec

Tidak

Konfigurasi Horizontal Pod Autoscaler (HPA) untuk Gateway kustom.

envoyPDB

KubernetesPodDisruptionBudgetSpec

Tidak

Konfigurasi PodDisruptionBudget (PDB) untuk Gateway kustom.