--- kind: GatewayClass apiVersion: networking.x-k8s.io/v1alpha1 metadata: name: my-gateway-class namespace: default spec: controller: traefik.io/gateway-controller --- kind: Gateway apiVersion: networking.x-k8s.io/v1alpha1 metadata: name: my-tcp-gateway namespace: default spec: gatewayClassName: my-gateway-class listeners: # Use GatewayClass defaults for listener definition. - protocol: TCP port: 9000 routes: kind: TCPRoute selector: matchLabels: app: label-tcp-app-1 - protocol: TCP port: 10000 routes: kind: TCPRoute selector: matchLabels: app: label-tcp-app-2 --- kind: TCPRoute apiVersion: networking.x-k8s.io/v1alpha1 metadata: name: tcp-app-1 namespace: default labels: app: label-tcp-app-1 spec: rules: - forwardTo: - serviceName: whoamitcp port: 9000 weight: 1 --- kind: TCPRoute apiVersion: networking.x-k8s.io/v1alpha1 metadata: name: tcp-app-2 namespace: default labels: app: label-tcp-app-2 spec: rules: - forwardTo: - serviceName: whoamitcp port: 10000 weight: 1