=== CMD: kubectl apply -f manifest.yaml === pod/client created serviceaccount/selectormismatch-gw created deployment.apps/selectormismatch-gw created service/selectormismatch-gw created gateway.networking.istio.io/selectormismatch-gw created === CMD: kubectl -n istio-vt-t80 wait --for=condition=Ready pod/client --timeout=90s === pod/client condition met === CMD: kubectl -n istio-vt-t80 rollout status deploy/selectormismatch-gw --timeout=90s === deployment "selectormismatch-gw" successfully rolled out === pod status check === NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES client 2/2 Running 0 3s 10.255.194.75 k8s-worker1 selectormismatch-gw-5b8f67ff4-d9947 1/1 Running 0 3s 10.255.126.16 k8s-worker2 === CMD: istioctl proxy-config listener deploy/selectormismatch-gw.istio-vt-t80 --port 8080 -o json | jq 'length' # expect 0 or empty === --- raw json --- [] --- stderr --- --- jq length --- 0 === CMD: kubectl -n istio-vt-t80 patch gateway selectormismatch-gw --type merge -p '{"spec":{"selector":{"istio":"selectormismatch-gw"}}}' === gateway.networking.istio.io/selectormismatch-gw patched === CMD: sleep 8 === slept 8s === CMD: istioctl proxy-config listener deploy/selectormismatch-gw.istio-vt-t80 --port 8080 -o json | jq 'length' # expect >=1 now === --- raw json --- [ { "name": "0.0.0.0_8080", "address": { "socketAddress": { "address": "0.0.0.0", "portValue": 8080 } }, "filterChains": [ { "filters": [ { "name": "envoy.filters.network.http_connection_manager", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", "statPrefix": "outbound_0.0.0.0_8080;", "rds": { "configSource": { "ads": {}, "initialFetchTimeout": "0s", "resourceApiVersion": "V3" }, "routeConfigName": "http.8080" }, "httpFilters": [ { "name": "istio.metadata_exchange", "typedConfig": { "@type": "type.googleapis.com/udpa.type.v1.TypedStruct", "typeUrl": "type.googleapis.com/io.istio.http.peer_metadata.Config", "value": { "upstream_discovery": [ { "istio_headers": {} }, { "workload_discovery": {} } ], "upstream_propagation": [ { "istio_headers": {} } ] } } }, { "name": "envoy.filters.http.grpc_stats", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.filters.http.grpc_stats.v3.FilterConfig", "emitFilterState": true, "statsForAllMethods": false } }, { "name": "istio.alpn", "typedConfig": { "@type": "type.googleapis.com/istio.envoy.config.filter.http.alpn.v2alpha1.FilterConfig", "alpnOverride": [ { "alpnOverride": [ "istio-http/1.0", "istio", "http/1.0" ] }, { "upstreamProtocol": "HTTP11", "alpnOverride": [ "istio-http/1.1", "istio", "http/1.1" ] }, { "upstreamProtocol": "HTTP2", "alpnOverride": [ "istio-h2", "istio", "h2" ] } ] } }, { "name": "envoy.filters.http.fault", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.filters.http.fault.v3.HTTPFault" } }, { "name": "envoy.filters.http.cors", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors" } }, { "name": "istio.stats", "typedConfig": { "@type": "type.googleapis.com/stats.PluginConfig", "disableHostHeaderFallback": true } }, { "name": "envoy.filters.http.router", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" } } ], "tracing": { "clientSampling": { "value": 100 }, "randomSampling": { "value": 1 }, "overallSampling": { "value": 100 }, "customTags": [ { "tag": "istio.authorization.dry_run.allow_policy.name", "metadata": { "kind": { "request": {} }, "metadataKey": { "key": "envoy.filters.http.rbac", "path": [ { "key": "istio_dry_run_allow_shadow_effective_policy_id" } ] } } }, { "tag": "istio.authorization.dry_run.allow_policy.result", "metadata": { "kind": { "request": {} }, "metadataKey": { "key": "envoy.filters.http.rbac", "path": [ { "key": "istio_dry_run_allow_shadow_engine_result" } ] } } }, { "tag": "istio.authorization.dry_run.deny_policy.name", "metadata": { "kind": { "request": {} }, "metadataKey": { "key": "envoy.filters.http.rbac", "path": [ { "key": "istio_dry_run_deny_shadow_effective_policy_id" } ] } } }, { "tag": "istio.authorization.dry_run.deny_policy.result", "metadata": { "kind": { "request": {} }, "metadataKey": { "key": "envoy.filters.http.rbac", "path": [ { "key": "istio_dry_run_deny_shadow_engine_result" } ] } } }, { "tag": "istio.canonical_revision", "literal": { "value": "latest" } }, { "tag": "istio.canonical_service", "literal": { "value": "selectormismatch-gw" } }, { "tag": "istio.cluster_id", "literal": { "value": "Kubernetes" } }, { "tag": "istio.mesh_id", "literal": { "value": "cluster.local" } }, { "tag": "istio.namespace", "literal": { "value": "istio-vt-t80" } } ] }, "httpProtocolOptions": {}, "serverName": "istio-envoy", "streamIdleTimeout": "0s", "accessLog": [ { "name": "envoy.access_loggers.file", "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", "path": "/dev/stdout", "logFormat": { "textFormatSource": { "inlineString": "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS% \"%UPSTREAM_TRANSPORT_FAILURE_REASON%\" %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER_RAW% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS% %REQUESTED_SERVER_NAME% %ROUTE_NAME%\n" } } } } ], "useRemoteAddress": true, "forwardClientCertDetails": "SANITIZE_SET", "setCurrentClientCertDetails": { "subject": true, "cert": true, "dns": true, "uri": true }, "proxy100Continue": true, "upgradeConfigs": [ { "upgradeType": "websocket" } ], "normalizePath": true, "pathWithEscapedSlashesAction": "KEEP_UNCHANGED", "requestIdExtension": { "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig", "useRequestIdForTraceSampling": true } } } } ], "transportSocketConnectTimeout": "15s" } ], "trafficDirection": "OUTBOUND", "accessLog": [ { "name": "envoy.access_loggers.file", "filter": { "responseFlagFilter": { "flags": [ "NR" ] } }, "typedConfig": { "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", "path": "/dev/stdout", "logFormat": { "textFormatSource": { "inlineString": "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS% \"%UPSTREAM_TRANSPORT_FAILURE_REASON%\" %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER_RAW% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS% %REQUESTED_SERVER_NAME% %ROUTE_NAME%\n" } } } } ], "maxConnectionsToAcceptPerSocketEvent": 1 } ] --- stderr --- --- jq length --- 1 === Gateway resource final state === apiVersion: networking.istio.io/v1 kind: Gateway metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"networking.istio.io/v1","kind":"Gateway","metadata":{"annotations":{},"name":"selectormismatch-gw","namespace":"istio-vt-t80"},"spec":{"selector":{"istio":"this-label-does-not-match-any-pod"},"servers":[{"hosts":["*"],"port":{"name":"http","number":8080,"protocol":"HTTP"}}]}} creationTimestamp: "2026-07-04T23:43:13Z" generation: 2 name: selectormismatch-gw namespace: istio-vt-t80 resourceVersion: "13659187" uid: 538c2d1d-4d75-419a-8e4e-797ae16b2071 spec: selector: istio: selectormismatch-gw servers: - hosts: - '*' port: name: http number: 8080 protocol: HTTP