When I use
type: LoadBalancer on a GKE service, the controller provisions a TCP load balancer. Is it possible to have an SSL proxy (targetSslProxy) with it? Note that the application layer protocol is not HTTP, so I do not want an ingress.
No, GKE controllers only use HTTP(S) load balancers for ingress and network load balancer (L4) for service type loadbalancer.
You wrote you don't want to use Ingress, however did you consider
SSL Passthrough annotation which is disabled by default?
More information about this annotation ca be found here.
You can try to use TargetProxy. I will not paste here any configuration because it is good described on GC Documentation
Other possibility is to use URL MAPS.
Here you have some GCP back-ends requirements.
Hope it will help.
General on GKE if you are using
LoadBalancer it will work on Layer4. If you want to use
LoadBalancer on Layer7(HTTPS) you have to use