diff --git a/cluster/addons.go b/cluster/addons.go index 919c9f5e..ca5e20bb 100644 --- a/cluster/addons.go +++ b/cluster/addons.go @@ -44,6 +44,7 @@ type MetricsServerOptions struct { RBACConfig string Options map[string]string MetricsServerImage string + Version string } type addonError struct { @@ -204,10 +205,14 @@ func (c *Cluster) deployKubeDNS(ctx context.Context) error { func (c *Cluster) deployMetricServer(ctx context.Context) error { log.Infof(ctx, "[addons] Setting up Metrics Server") + s := strings.Split(c.SystemImages.MetricsServer, ":") + versionTag := s[len(s)-1] + MetricsServerConfig := MetricsServerOptions{ MetricsServerImage: c.SystemImages.MetricsServer, RBACConfig: c.Authorization.Mode, Options: c.Monitoring.Options, + Version: getTagMajorVersion(versionTag), } metricsYaml, err := addons.GetMetricsServerManifest(MetricsServerConfig) if err != nil { diff --git a/templates/metrics.go b/templates/metrics.go index 68fa8754..57a0bbcd 100644 --- a/templates/metrics.go +++ b/templates/metrics.go @@ -113,7 +113,13 @@ spec: imagePullPolicy: Always command: - /metrics-server + {{- if eq .Version "v0.3" }} + - --kubelet-insecure-tls + - --kubelet-preferred-address-types=InternalIP + - --logtostderr + {{- else }} - --source=kubernetes.summary_api:https://kubernetes.default.svc?kubeletHttps=true&kubeletPort=10250&useServiceAccount=true&insecure=true + {{- end }} {{ range $k,$v := .Options }} - --{{ $k }}={{ $v }} {{ end }}