GKE - Ingress "Unmeshed" #7764
-
Dear community, I am struggling to update the GKE ingress controller to include traffic from external IPs. I followed the guide https://linkerd.io/2.11/tasks/using-ingress/#gce. thank you already to the person for taking the time to read my QA post.
|
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 4 replies
-
Facing the same issue.. Have you ever made it work? I understood from the docs that we need to add |
Beta Was this translation helpful? Give feedback.
-
If your ingress controller does not have a pod, then it cannot be injected. Linkerd handles re-direction at the pod's network namespace level. Without a pod (and thus without a proxy) there's no way to intercept the traffic, or to secure it. The workaround here would be to have a pod at the edge of your cluster that accepts incoming requests, e.g a gateway or something else similar to that. |
Beta Was this translation helpful? Give feedback.
-
@mateiidavid does this mean the linkerd documentation is wrong to include GCE Ingress as a compatible ingress controller? |
Beta Was this translation helpful? Give feedback.
-
Facing the same issue.. |
Beta Was this translation helpful? Give feedback.
-
I think that what we're talking about as "GCE Ingress" here is https://cloud.google.com/kubernetes-engine/docs/concepts/ingress (if anyone cares to confirm, this would be lovely). There are two different ways to use this:
Most folks, I'm told, take option 1 and let GKE worry about it. However, you can't mesh the ingress controller in that mode since there's nothing running in your cluster to put our proxy next to. I'll clarify, in the docs, that you need to be deploying this ingress directly in your cluster in order to mesh it. It's definitely compatible in that mode. |
Beta Was this translation helpful? Give feedback.
-
What about if I don’t use GKE ingress but API Gateway? It doesn’t create any load balancer pods in the cluster and sends traffic directly to pods. |
Beta Was this translation helpful? Give feedback.
If your ingress controller does not have a pod, then it cannot be injected. Linkerd handles re-direction at the pod's network namespace level. Without a pod (and thus without a proxy) there's no way to intercept the traffic, or to secure it. The workaround here would be to have a pod at the edge of your cluster that accepts incoming requests, e.g a gateway or something else similar to that.