Linkerd as internal proxy and ingress controller


#1

I currently am experimenting and learning Linkerd but I am not quite clear on a couple things when setting it up in a Kubernetes cluster. First, I am installing it in a on-prem test cluster, so there is no LoadBalancer resource available. I have a proxy type daemonset deployed for service mesh purpose on the worker nodes and a ingress controller deployed also on each worker node listening on port 80 and 443. When I navigate to port 9990 for ingress controller pods, I can see the request stats and everything appears to be functioning as well as I hope. However, when I open the admin page for the service mesh pods, it’s completely empty and shows no activity. My assumption is that the service mesh isn’t configured correctly. However, I am at a loss on what to do at this point. Moreover, I am not entirely sure I am even using the right correct architecture. If I want to use both ingress and service mesh, do I need to install Linkerd daemonsets for each? The test application I deployed is just the hello world example provided, and looking at the specs, it does look like it is attempting to use the service mesh.


#2

Hmmm yeah I would say try to test the service mesh separately first, make sure it’s configured correctly, then try adding ingress. Maybe try the simplest hello world configs first, and make sure you can see the service mesh working. (e.g. https://buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/)

The steps here might be helpful:

Some other things to check out - do you have CNI enabled? is RBAC enabled?

You might also take a look at the complete servicemesh config (that includes a use of ingress):