istio.io/istio@v0.0.0-20240520182934-d79c90f27776/pilot/pkg/xds/testdata/benchmarks/knative-gateway.yaml (about) 1 # Simulate the same configuration knative would generate from some basic KServices 2 # Set up a Service associated with our proxy, which will run as 1.1.1.1 IP 3 apiVersion: networking.istio.io/v1alpha3 4 kind: ServiceEntry 5 metadata: 6 name: external 7 namespace: istio-system 8 spec: 9 hosts: 10 - istio-ingressgateway.istio-system.svc.cluster.local 11 ports: 12 - number: 80 13 targetPort: 8080 14 name: http 15 protocol: HTTP 16 resolution: STATIC 17 endpoints: 18 - address: 1.1.1.1 19 labels: 20 istio.io/benchmark: "true" 21 --- 22 apiVersion: networking.istio.io/v1alpha3 23 kind: ServiceEntry 24 metadata: 25 name: internal 26 namespace: istio-system 27 spec: 28 hosts: 29 - knative-local-gateway.istio-system.svc.cluster.local 30 ports: 31 - number: 80 32 targetPort: 8081 33 name: http 34 protocol: HTTP 35 resolution: STATIC 36 endpoints: 37 - address: 1.1.1.1 38 labels: 39 istio.io/benchmark: "true" 40 --- 41 apiVersion: networking.istio.io/v1alpha3 42 kind: Gateway 43 metadata: 44 name: knative-ingress-gateway 45 namespace: knative-serving 46 spec: 47 selector: 48 istio.io/benchmark: "true" 49 servers: 50 - hosts: 51 - '*' 52 port: 53 name: http 54 number: 80 55 protocol: HTTP 56 --- 57 apiVersion: networking.istio.io/v1alpha3 58 kind: Gateway 59 metadata: 60 name: knative-local-gateway 61 namespace: knative-serving 62 spec: 63 selector: 64 istio.io/benchmark: "true" 65 servers: 66 - hosts: 67 - '*' 68 port: 69 name: http 70 number: 8081 71 protocol: HTTP 72 --- 73 {{- range $i := until .Services }} 74 apiVersion: networking.istio.io/v1alpha3 75 kind: VirtualService 76 metadata: 77 name: hello-ingress-{{$i}} 78 namespace: default 79 spec: 80 gateways: 81 - knative-serving/knative-ingress-gateway 82 - knative-serving/knative-local-gateway 83 hosts: 84 - hello.default 85 - hello.default.external.domain 86 - hello.default.svc 87 - hello.default.svc.cluster.local 88 http: 89 - headers: 90 request: 91 set: 92 K-Network-Hash: 0647dfaebda7111f09cd1ee30dfb4cbdf540bcd47575c5f948106757b7110384 93 match: 94 - authority: 95 prefix: hello.default 96 gateways: 97 - knative-serving/knative-local-gateway 98 headers: 99 K-Network-Hash: 100 exact: override 101 route: 102 - destination: 103 host: hello-{{$i}}.default.svc.cluster.local 104 port: 105 number: 80 106 headers: 107 request: 108 set: 109 Knative-Serving-Namespace: default 110 Knative-Serving-Revision: hello-{{$i}} 111 weight: 100 112 - match: 113 - authority: 114 prefix: hello.default 115 gateways: 116 - knative-serving/knative-local-gateway 117 route: 118 - destination: 119 host: hello-{{$i}}.default.svc.cluster.local 120 port: 121 number: 80 122 headers: 123 request: 124 set: 125 Knative-Serving-Namespace: default 126 Knative-Serving-Revision: hello-{{$i}} 127 weight: 100 128 - headers: 129 request: 130 set: 131 K-Network-Hash: 0647dfaebda7111f09cd1ee30dfb4cbdf540bcd47575c5f948106757b7110384 132 match: 133 - authority: 134 prefix: hello.default.external.domain 135 gateways: 136 - knative-serving/knative-ingress-gateway 137 headers: 138 K-Network-Hash: 139 exact: override 140 route: 141 - destination: 142 host: hello-{{$i}}.default.svc.cluster.local 143 port: 144 number: 80 145 headers: 146 request: 147 set: 148 Knative-Serving-Namespace: default 149 Knative-Serving-Revision: hello-{{$i}} 150 weight: 100 151 - match: 152 - authority: 153 prefix: hello.default.external.domain 154 gateways: 155 - knative-serving/knative-ingress-gateway 156 route: 157 - destination: 158 host: hello-{{$i}}.default.svc.cluster.local 159 port: 160 number: 80 161 headers: 162 request: 163 set: 164 Knative-Serving-Namespace: default 165 Knative-Serving-Revision: hello-{{$i}} 166 weight: 100 167 --- 168 apiVersion: networking.istio.io/v1alpha3 169 kind: VirtualService 170 metadata: 171 name: hello-private-ingress-{{$i}} 172 namespace: default 173 spec: 174 gateways: 175 - knative-serving/knative-local-gateway 176 hosts: 177 - hello-private.default 178 - hello-private.default.svc 179 - hello-private.default.svc.cluster.local 180 http: 181 - headers: 182 request: 183 set: 184 K-Network-Hash: 1235d057c5abf876f0b1fa3cb9e5d04730d98fb236badc4705aecc1159309b2b 185 match: 186 - authority: 187 prefix: hello-private.default 188 gateways: 189 - knative-serving/knative-local-gateway 190 headers: 191 K-Network-Hash: 192 exact: override 193 route: 194 - destination: 195 host: hello-private-{{$i}}.default.svc.cluster.local 196 port: 197 number: 80 198 headers: 199 request: 200 set: 201 Knative-Serving-Namespace: default 202 Knative-Serving-Revision: hello-private-{{$i}} 203 weight: 100 204 - match: 205 - authority: 206 prefix: hello-private.default 207 gateways: 208 - knative-serving/knative-local-gateway 209 route: 210 - destination: 211 host: hello-private-{{$i}}.default.svc.cluster.local 212 port: 213 number: 80 214 headers: 215 request: 216 set: 217 Knative-Serving-Namespace: default 218 Knative-Serving-Revision: hello-private-{{$i}} 219 weight: 100 220 {{- end }}