envoyproxy/gateway

How to patch Cluster with EnvoyPatchPolicy

Open

#7,306 opened on 2025年10月22日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)Go (802 forks)auto 404
documentationgood first issuehelp wanted

Repository metrics

Stars
 (2,871 stars)
PR merge metrics
 (PR metrics pending)

説明

Description: An example would be nice to determine how to modify cluster config in EnvoyPatchPolicy

apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: eg
spec:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: eg
  namespace: envoy-poc
spec:
  gatewayClassName: eg
  listeners:
  - name: http
    port: 80
    protocol: HTTP
    allowedRoutes:
      namespaces:
        from: Same
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: server-route
  namespace: envoy-poc
spec:
  parentRefs:
  - name: eg
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /
    backendRefs:
    - name: server
      port: 8080
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyPatchPolicy
metadata:
  name: server-route-client-wrr
  namespace: envoy-poc
spec:
  type: JSONPatch
  targetRef:
    group: gateway.networking.k8s.io
    kind: GatewayClass
    name: eg
  jsonPatches:
  - type: type.googleapis.com/envoy.config.cluster.v3.Cluster
    name: httproute/envoy-poc/server-route/rule/0
    operation:
      op: add
      path: /load_balancing_policy
      value:
        policies:
        - typed_extension_config:
            name: envoy.load_balancing_policies.client_side_weighted_round_robin
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin

I am doing the following but the patch is not working

コントリビューターガイド