From ef048142a53058149c8a885559e73e76e97b437d Mon Sep 17 00:00:00 2001 From: Alexander Kanevskiy Date: Wed, 12 Jul 2017 13:31:20 +0300 Subject: [PATCH] Cleanup usage of cmd/kubeadm/app/images in addons Maintain kube-proxy DaemonSet definition in one place --- cmd/kubeadm/app/images/images.go | 2 -- cmd/kubeadm/app/images/images_test.go | 5 ----- cmd/kubeadm/app/phases/addons/BUILD | 1 - cmd/kubeadm/app/phases/addons/addons.go | 14 ++++++++------ cmd/kubeadm/app/phases/addons/addons_test.go | 13 ++++++++----- cmd/kubeadm/app/phases/addons/manifests.go | 2 +- 6 files changed, 17 insertions(+), 20 deletions(-) diff --git a/cmd/kubeadm/app/images/images.go b/cmd/kubeadm/app/images/images.go index 017201667bd..d0a6922de54 100644 --- a/cmd/kubeadm/app/images/images.go +++ b/cmd/kubeadm/app/images/images.go @@ -29,7 +29,6 @@ const ( KubeAPIServerImage = "apiserver" KubeControllerManagerImage = "controller-manager" KubeSchedulerImage = "scheduler" - KubeProxyImage = "proxy" etcdVersion = "3.0.17" ) @@ -45,6 +44,5 @@ func GetCoreImage(image string, cfg *kubeadmapi.MasterConfiguration, overrideIma KubeAPIServerImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-apiserver", runtime.GOARCH, kubernetesImageTag), KubeControllerManagerImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-controller-manager", runtime.GOARCH, kubernetesImageTag), KubeSchedulerImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-scheduler", runtime.GOARCH, kubernetesImageTag), - KubeProxyImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-proxy", runtime.GOARCH, kubernetesImageTag), }[image] } diff --git a/cmd/kubeadm/app/images/images_test.go b/cmd/kubeadm/app/images/images_test.go index cae27b18459..10a37f0703f 100644 --- a/cmd/kubeadm/app/images/images_test.go +++ b/cmd/kubeadm/app/images/images_test.go @@ -62,11 +62,6 @@ func TestGetCoreImage(t *testing.T) { c: &kubeadmapi.MasterConfiguration{ImageRepository: gcrPrefix, KubernetesVersion: testversion}}, fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, "kube-scheduler", runtime.GOARCH, expected), }, - {getCoreImageTest{ - i: KubeProxyImage, - c: &kubeadmapi.MasterConfiguration{ImageRepository: gcrPrefix, KubernetesVersion: testversion}}, - fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, "kube-proxy", runtime.GOARCH, expected), - }, } for _, it := range imageTest { actual := GetCoreImage(it.t.i, it.t.c, it.t.o) diff --git a/cmd/kubeadm/app/phases/addons/BUILD b/cmd/kubeadm/app/phases/addons/BUILD index 65a295a2e9d..3515a7b908a 100644 --- a/cmd/kubeadm/app/phases/addons/BUILD +++ b/cmd/kubeadm/app/phases/addons/BUILD @@ -18,7 +18,6 @@ go_library( deps = [ "//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//cmd/kubeadm/app/constants:go_default_library", - "//cmd/kubeadm/app/images:go_default_library", "//cmd/kubeadm/app/util:go_default_library", "//pkg/api:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", diff --git a/cmd/kubeadm/app/phases/addons/addons.go b/cmd/kubeadm/app/phases/addons/addons.go index dd78e2e7378..d74f5ecb340 100644 --- a/cmd/kubeadm/app/phases/addons/addons.go +++ b/cmd/kubeadm/app/phases/addons/addons.go @@ -29,7 +29,6 @@ import ( clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" - "k8s.io/kubernetes/cmd/kubeadm/app/images" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" @@ -45,11 +44,14 @@ func CreateEssentialAddons(cfg *kubeadmapi.MasterConfiguration, client *clientse return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err) } - proxyDaemonSetBytes, err := kubeadmutil.ParseTemplate(KubeProxyDaemonSet, struct{ Image, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ - Image: images.GetCoreImage("proxy", cfg, cfg.UnifiedControlPlaneImage), - ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet), - MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster, - CloudTaintKey: algorithm.TaintExternalCloudProvider, + proxyDaemonSetBytes, err := kubeadmutil.ParseTemplate(KubeProxyDaemonSet, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ + ImageRepository: cfg.ImageRepository, + Arch: runtime.GOARCH, + Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion), + ImageOverride: cfg.UnifiedControlPlaneImage, + ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet), + MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster, + CloudTaintKey: algorithm.TaintExternalCloudProvider, }) if err != nil { return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err) diff --git a/cmd/kubeadm/app/phases/addons/addons_test.go b/cmd/kubeadm/app/phases/addons/addons_test.go index 82227632267..79cc5c98034 100644 --- a/cmd/kubeadm/app/phases/addons/addons_test.go +++ b/cmd/kubeadm/app/phases/addons/addons_test.go @@ -54,11 +54,14 @@ func TestCompileManifests(t *testing.T) { }, { manifest: KubeProxyDaemonSet, - data: struct{ Image, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ - Image: "foo", - ClusterCIDR: "foo", - MasterTaintKey: "foo", - CloudTaintKey: "foo", + data: struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ + ImageRepository: "foo", + Arch: "foo", + Version: "foo", + ImageOverride: "foo", + ClusterCIDR: "foo", + MasterTaintKey: "foo", + CloudTaintKey: "foo", }, expected: true, }, diff --git a/cmd/kubeadm/app/phases/addons/manifests.go b/cmd/kubeadm/app/phases/addons/manifests.go index 339fbd83b14..3b6c6460d8e 100644 --- a/cmd/kubeadm/app/phases/addons/manifests.go +++ b/cmd/kubeadm/app/phases/addons/manifests.go @@ -68,7 +68,7 @@ spec: spec: containers: - name: kube-proxy - image: {{ .Image }} + image: {{ if .ImageOverride }}{{ .ImageOverride }}{{ else }}{{ .ImageRepository }}/kube-proxy-{{ .Arch }}:{{ .Version }}{{ end }} imagePullPolicy: IfNotPresent command: - /usr/local/bin/kube-proxy