From 0de49c461fb39eb6336c0827f34983cf8812e065 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Mon, 18 Dec 2017 15:14:12 +0800 Subject: [PATCH] Remove kube-proxy 1.8 configmap and daemonset manifests in kubeadm. --- cmd/kubeadm/app/constants/constants.go | 3 - .../app/phases/addons/proxy/manifests.go | 90 ------------------- cmd/kubeadm/app/phases/addons/proxy/proxy.go | 71 +++++---------- .../app/phases/addons/proxy/proxy_test.go | 22 ----- 4 files changed, 20 insertions(+), 166 deletions(-) diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go index 4cf9076eb9a..61cc7f70ea9 100644 --- a/cmd/kubeadm/app/constants/constants.go +++ b/cmd/kubeadm/app/constants/constants.go @@ -231,9 +231,6 @@ var ( // MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports MinimumKubeletVersion = version.MustParseSemantic("v1.8.0") - // MinimumKubeProxyComponentConfigVersion specifies the minimum version for the kubeProxyComponent - MinimumKubeProxyComponentConfigVersion = version.MustParseSemantic("v1.9.0-alpha.3") - // SupportedEtcdVersion lists officially supported etcd versions with corresponding kubernetes releases SupportedEtcdVersion = map[uint8]string{ 8: "3.0.17", diff --git a/cmd/kubeadm/app/phases/addons/proxy/manifests.go b/cmd/kubeadm/app/phases/addons/proxy/manifests.go index 9962eb44d0c..d141e16289f 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/manifests.go +++ b/cmd/kubeadm/app/phases/addons/proxy/manifests.go @@ -17,37 +17,6 @@ limitations under the License. package proxy const ( - // KubeProxyConfigMap18 is the proxy ConfigMap manifest for Kubernetes version 1.8 - KubeProxyConfigMap18 = ` -kind: ConfigMap -apiVersion: v1 -metadata: - name: kube-proxy - namespace: kube-system - labels: - app: kube-proxy -data: - kubeconfig.conf: | - apiVersion: v1 - kind: Config - clusters: - - cluster: - certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - server: {{ .MasterEndpoint }} - name: default - contexts: - - context: - cluster: default - namespace: default - user: default - name: default - current-context: default - users: - - name: default - user: - tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token -` - // KubeProxyConfigMap19 is the proxy ConfigMap manifest for Kubernetes 1.9 and above KubeProxyConfigMap19 = ` kind: ConfigMap @@ -79,65 +48,6 @@ data: tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token config.conf: |- {{ .ProxyConfig}} -` - // KubeProxyDaemonSet18 is the proxy DaemonSet manifest for Kubernetes version 1.8 - KubeProxyDaemonSet18 = ` -apiVersion: apps/v1beta2 -kind: DaemonSet -metadata: - labels: - k8s-app: kube-proxy - name: kube-proxy - namespace: kube-system -spec: - selector: - matchLabels: - k8s-app: kube-proxy - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - k8s-app: kube-proxy - spec: - containers: - - name: kube-proxy - image: {{ if .ImageOverride }}{{ .ImageOverride }}{{ else }}{{ .ImageRepository }}/kube-proxy-{{ .Arch }}:{{ .Version }}{{ end }} - imagePullPolicy: IfNotPresent - command: - - /usr/local/bin/kube-proxy - - --kubeconfig=/var/lib/kube-proxy/kubeconfig.conf - {{ .ClusterCIDR }} - securityContext: - privileged: true - volumeMounts: - - mountPath: /var/lib/kube-proxy - name: kube-proxy - - mountPath: /run/xtables.lock - name: xtables-lock - readOnly: false - - mountPath: /lib/modules - name: lib-modules - readOnly: true - hostNetwork: true - serviceAccountName: kube-proxy - tolerations: - - key: {{ .MasterTaintKey }} - effect: NoSchedule - - key: {{ .CloudTaintKey }} - value: "true" - effect: NoSchedule - volumes: - - name: kube-proxy - configMap: - name: kube-proxy - - name: xtables-lock - hostPath: - path: /run/xtables.lock - type: FileOrCreate - - name: lib-modules - hostPath: - path: /lib/modules ` // KubeProxyDaemonSet19 is the proxy DaemonSet manifest for Kubernetes 1.9 and above diff --git a/cmd/kubeadm/app/phases/addons/proxy/proxy.go b/cmd/kubeadm/app/phases/addons/proxy/proxy.go index a0cade34556..0121da57d02 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/proxy.go +++ b/cmd/kubeadm/app/phases/addons/proxy/proxy.go @@ -33,7 +33,6 @@ import ( "k8s.io/kubernetes/pkg/api/legacyscheme" kubeproxyconfigscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" - "k8s.io/kubernetes/pkg/util/version" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" ) @@ -63,58 +62,28 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte if err != nil { return fmt.Errorf("error when marshaling: %v", err) } - // Parse the given kubernetes version - k8sVersion, err := version.ParseSemantic(cfg.KubernetesVersion) - if err != nil { - return fmt.Errorf("couldn't parse kubernetes version %q: %v", cfg.KubernetesVersion, err) - } var proxyConfigMapBytes, proxyDaemonSetBytes []byte - if k8sVersion.AtLeast(kubeadmconstants.MinimumKubeProxyComponentConfigVersion) { - proxyConfigMapBytes, err = kubeadmutil.ParseTemplate(KubeProxyConfigMap19, - struct { - MasterEndpoint string - ProxyConfig string - }{ - MasterEndpoint: masterEndpoint, - ProxyConfig: proxyBytes, - }) - if err != nil { - return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err) - } - proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ - ImageRepository: cfg.GetControlPlaneImageRepository(), - Arch: runtime.GOARCH, - Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion), - ImageOverride: cfg.UnifiedControlPlaneImage, - MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster, - CloudTaintKey: algorithm.TaintExternalCloudProvider, + proxyConfigMapBytes, err = kubeadmutil.ParseTemplate(KubeProxyConfigMap19, + struct { + MasterEndpoint string + ProxyConfig string + }{ + MasterEndpoint: masterEndpoint, + ProxyConfig: proxyBytes, }) - if err != nil { - return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err) - } - } else { - proxyConfigMapBytes, err = kubeadmutil.ParseTemplate(KubeProxyConfigMap18, - struct { - MasterEndpoint string - }{ - MasterEndpoint: masterEndpoint, - }) - if err != nil { - return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err) - } - - proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet18, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ - ImageRepository: cfg.GetControlPlaneImageRepository(), - 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) - } + if err != nil { + return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err) + } + proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{ + ImageRepository: cfg.GetControlPlaneImageRepository(), + Arch: runtime.GOARCH, + Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion), + ImageOverride: cfg.UnifiedControlPlaneImage, + MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster, + CloudTaintKey: algorithm.TaintExternalCloudProvider, + }) + if err != nil { + return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err) } if err := createKubeProxyAddon(proxyConfigMapBytes, proxyDaemonSetBytes, client); err != nil { return err diff --git a/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go b/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go index 7cd2c3d2abd..21893d065da 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go +++ b/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go @@ -113,15 +113,6 @@ func TestCompileManifests(t *testing.T) { data interface{} expected bool }{ - { - manifest: KubeProxyConfigMap18, - data: struct { - MasterEndpoint, ProxyConfig string - }{ - MasterEndpoint: "foo", - }, - expected: true, - }, { manifest: KubeProxyConfigMap19, data: struct { @@ -132,19 +123,6 @@ func TestCompileManifests(t *testing.T) { }, expected: true, }, - { - manifest: KubeProxyDaemonSet18, - 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, - }, { manifest: KubeProxyDaemonSet19, data: struct{ ImageRepository, Arch, Version, ImageOverride, MasterTaintKey, CloudTaintKey string }{