linkerd / linkerd/linkerd-examples
Local l5d discovery issue in k8s-daemonset example
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 444
- Forks
- 216
- PR merge metrics
- No merged PRs in 30d
Description
When I tried to deploy `k8s-daemonset/k8s/hello-world-1_4.yml` in my **minikube** I ran into an issue where the value given to `spec.nodeName` (`minikube`) wasn't resolvable by kube-dns, causing an exception in `hello.py`. I'm not sure why this wasn't a problem in other k8s deployments. In minikube and k8s 1.4, `hostIP.sh` or similar approach looking up `status.hostIP` may still be necessary.
There is a [proposal](https://github.com/kubernetes/kubernetes/issues/28610) in kubernetes to improve node-local service discovery when using DaemonSets that could solve this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by deploying k8s-daemonset/k8s/hello-world-1_4.yml in minikube and inspect hello.py where kube-dns resolution fails for spec.nodeName. Review hostIP.sh or a similar lookup of status.hostIP, alongside the linked Kubernetes proposal. Done means the example performs node-local service discovery without the exception in this environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, python, shell
- Domain
- infrastructure, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100