linkerd / linkerd/linkerd-examples

Start using status.hostIP in k8s daemonsets examples

Open
#184 3 comments 5 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.