linkerd / linkerd/linkerd-examples
Start using status.hostIP in k8s daemonsets examples
- Dominant language
- Go
- Stars
- 444
- Forks
- 216
- PR merge metrics
- No merged PRs in 30d
Description
First reported by @dlaidlaw.
As of Kubernetes 1.7 (kubernetes/kubernetes#42717), we can now retrieve the host IP directly from the downward API via the `status.hostIP` field, without needing to rely on the `spec.nodeName` field, which isn't addressable in all Kubernetes environments (including minikube -- #130).
We should update our example configs in this repo to start using `status.hostIP` instead of `spec.nodeName`, but we also need to figure out a way to ensure backwards compatibility with older versions of Kubernetes, either by versioning the config files or doing something smarter with environment variable fallback.
Contributor guide
Research direction
Inspect the repository's example configs to find uses of `spec.nodeName`, then review the Kubernetes downward API support for `status.hostIP` and the older versions that must remain compatible. Decide whether versioned configs or an environment-variable fallback is appropriate, and verify that the daemonset examples work across the supported Kubernetes versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100