Skip to content
This repository has been archived by the owner on Jul 30, 2021. It is now read-only.

Add --advertise-address to bootstrap-apiserver manifest #453

Closed
aaronlevy opened this issue Apr 19, 2017 · 0 comments
Closed

Add --advertise-address to bootstrap-apiserver manifest #453

aaronlevy opened this issue Apr 19, 2017 · 0 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/P0
Milestone

Comments

@aaronlevy
Copy link
Contributor

In the case of vagrant/virtualbox (hack/multi-node) the temporary apiserver is advertising itself on the incorrect interface (with IP 10.0.2.15).

The default interface on virtualbox machines isn't actually routable between nodes, so what ends up happening is that the api-server ends up advertising itself on an IP that it cant be reached. Similar scenarios could occur in environments with multiple ethernet devices (not just virtualbox).

A workaround is to set the --advertise-address to the downward api pod-ip. This means that at runtime the kubelet will populate the same host address that the kubelet is using (because hostnetwork=true, this means the same host address the kubelet has resolved, or been told to use).

Hopefully we can just drop the same thing into the static pod manifest:
https://github.com/kubernetes-incubator/bootkube/blob/master/pkg/asset/internal/templates.go#L165
https://github.com/kubernetes-incubator/bootkube/blob/master/pkg/asset/internal/templates.go#L187-L191

@aaronlevy aaronlevy added kind/bug Categorizes issue or PR as related to a bug. priority/P0 labels Apr 19, 2017
@aaronlevy aaronlevy added this to the Next-Release milestone Apr 19, 2017
alexsomesan pushed a commit to coreos/tectonic-installer that referenced this issue Apr 19, 2017
* modules/bootkube: use Kubernetes1.6-style labels for components

* modules/bootkube: add tolerations, affinity/anti-affinity to components

- Critical components to run with other critical components
- Avoid running two replicas of the same component on the same node

* modules/bootkube: add liveness probes to kube-cm and kube-scheduler

* modules/bootkube: update kube-dns

* modules/bootkube: update pod-checkpointer (now autoinstall/gc)

* *: update to Kubernetes 1.6.1, bootkube 0.4.0, etcd 3.1.5 & flannel 0.7.1

* modules/bootkube: add bootstrap manifests

* modules/{bootkube,tectonic}: move rbac.authorization.k8s.io to v1beta1

* config.tf: bump Console to be compatible with Kubernetes 1.6

* modules/bootkube: use `--admission-control` recommended by upstream

Ref: https://kubernetes.io/docs/admin/admission-controllers/#is-there-a-recommended-set-of-plug-ins-to-use

* modules/bootkube: add `--advertise-address` to bootstrap-apiserver

kubernetes-retired/bootkube#453
@aaronlevy aaronlevy self-assigned this Apr 19, 2017
@diegs diegs self-assigned this Apr 19, 2017
diegs pushed a commit to diegs/bootkube that referenced this issue Apr 19, 2017
This should ensure that the bootstrap apiserver advertises itself
on the same interface as the kubelet (since hostnetwork = true)
rather than an arbitrary one.

Fixes kubernetes-retired#453.
@aaronlevy aaronlevy removed their assignment Apr 19, 2017
diegs added a commit that referenced this issue Apr 19, 2017
This should ensure that the bootstrap apiserver advertises itself
on the same interface as the kubelet (since hostnetwork = true)
rather than an arbitrary one.

Fixes #453.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/P0
Projects
None yet
Development

No branches or pull requests

2 participants