telepresence
telepresence copied to clipboard
Any plans to support Istio / Knative deployments
Telepresence is so cool and it works perfect for normal k8s deployments - do you have any plans on supporting Istio / Knative?
As far as I know, Telepresence works okay with Istio right now. What would it mean to support Knative? Can you sketch out an example?
Hi
In Knative they use a header for routing:
grpc.WithAuthority("")
This routing is hitting a deployment name.
The issue is the name of the deployment(swap deployment) name and the yaml parameters/settings.
Kind of like --expose
but for knative service.
I think it would be awesome, to support this.
And I still have issues trying with datawire/telepresence-k8s:0.100
:
https://github.com/telepresenceio/telepresence/issues/1027
Thanks
I ran into issues attempting to use telepresence with knative as well. I tried to telepresence --swap-deployment
with a deployment that had been created by knative. First, the new pod that was created was failing with this error message on the queue-proxy sidecar (sidecar is created by knative):
"admin server failed to listen: listen tcp :8022: bind: address already in use","stacktrace":"main.main\n\tknative.dev/serving/cmd/queue/main.go:229\nruntime.main\n\truntime/proc.go:203"}
I looked at port 8022 and there's some hard-coding in both knative and telepresence, neither is configurable, that may be the issue: https://github.com/telepresenceio/telepresence/blob/9d2096a3ce094bb75d91e3ec1c8db80b3012e328/telepresence/connect/connect.py#L53-L58 https://github.com/knative/serving/blob/d91b5d6cdd290075a0a911ee97a5238ea19fdecb/pkg/networking/constants.go#L29-L31
The second issue that I ran into was that a second healthy pod spun up immediately (with both my workload and the queue-proxy sidecar), but it did not have the datawire/telepresence
image swapped in. One hypothesis here is that knative creates this new pod as part of its reconciliation loop after the swap.
Maybe the only way to get telepresence working with knative is to create a new knative service (using the datawire/telepresence image), and then use `telepresence --deployment
@JCzz are you seeing issues with Istio or Knative? If you do, please elaborate. If not, please close this ticket again.
It's definitely not usable with Knative. I'm using Telepresence2 so the commands are different from the examples in @lisamburns comment, but the experience is similar. I can't get telepresense intercept
to run at all even - it fails to detect the interceptable ports and won't take any hints I provide. The problem is to do with the way Knative generates and reconciles the deployment manifest, as she suggested I'm sure (but I'm not an expert so I can't explain how that works).
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in 7 days.