kinvolk/kube-spawn

version mismatch of k8s apiserver and controller-manager

Closed this issue · 2 comments

When testing with k8s dev version (1.8), we're seeing a different version for apiserver and controller-manager:

$ $GOPATH/src/k8s.io/kubernetes/_output/dockerized/bin/linux/amd64/kube-apiserver --version
Kubernetes v1.8.0-alpha.2.2330+7e208befd197d0

kube-spawn-0 ~ # /proc/$(pidof kube-apiserver)/exe --version
Kubernetes v1.8.0-alpha.2

Even though the hyperkube image built has the right versions:

$ docker run -it 10.22.0.1:5000/hyperkube-amd64
# ./apiserver --version
2017-08-23 13:28:53.306040 I | proto: duplicate proto type registered: google.protobuf.Any
2017-08-23 13:28:53.306080 I | proto: duplicate proto type registered: google.protobuf.Duration
2017-08-23 13:28:53.306092 I | proto: duplicate proto type registered: google.protobuf.Timestamp
Kubernetes v1.8.0-alpha.2.2330+7e208befd197d0

It might be because KUBE_HYPERKUBE_IMAGE is deprecated since 1.8.

Reported by @iaguis from #118 (comment)

Same (or related) issue, reported by @iaguis.

./kube-spawn up --kubernetes-version=1.7.5 is broken because latest is hardcoded in etc/kubeadm.yml and we use --config and --kubernetes-version when calling kubeadm, which is not allowed now.

if we can specify the version in kubeadm.yml we can stop using --kubernetes-version and we can put a placeholder in kubeadm.yml that will change according to the kube-spawn version flag.

This will most likely be fixed with the changes currently wip on kube-spawn@robertgzr/rktlet