diff --git a/pkg/model/components/etcd.go b/pkg/model/components/etcd.go index a5b9ded4ae..7ce55d401c 100644 --- a/pkg/model/components/etcd.go +++ b/pkg/model/components/etcd.go @@ -24,7 +24,7 @@ import ( "k8s.io/kops/upup/pkg/fi/loader" ) -const DefaultBackupImage = "kopeio/etcd-backup:3.0.20191025" +const DefaultBackupImage = "kopeio/etcd-backup:3.0.20200116" // EtcdOptionsBuilder adds options for etcd to the model type EtcdOptionsBuilder struct { @@ -42,6 +42,8 @@ const ( DefaultEtcd3Version_1_13 = "3.2.24" DefaultEtcd3Version_1_14 = "3.3.10" + + DefaultEtcd3Version_1_17 = "3.4.3" ) // BuildOptions is responsible for filling in the defaults for the etcd cluster model @@ -62,7 +64,9 @@ func (b *EtcdOptionsBuilder) BuildOptions(o interface{}) error { // Ensure the version is set if c.Version == "" && c.Provider == kops.EtcdProviderTypeLegacy { // Even if in legacy mode, etcd version 2 is unsupported as of k8s 1.13 - if b.IsKubernetesGTE("1.14") { + if b.IsKubernetesGTE("1.17") { + c.Version = DefaultEtcd3Version_1_17 + } else if b.IsKubernetesGTE("1.14") { c.Version = DefaultEtcd3Version_1_14 } else if b.IsKubernetesGTE("1.13") { c.Version = DefaultEtcd3Version_1_13 @@ -73,7 +77,9 @@ func (b *EtcdOptionsBuilder) BuildOptions(o interface{}) error { if c.Version == "" && c.Provider == kops.EtcdProviderTypeManager { // From 1.11, we run the k8s-recommended versions of etcd when using the manager - if b.IsKubernetesGTE("1.14") { + if b.IsKubernetesGTE("1.17") { + c.Version = DefaultEtcd3Version_1_17 + } else if b.IsKubernetesGTE("1.14") { c.Version = DefaultEtcd3Version_1_14 } else if b.IsKubernetesGTE("1.13") { c.Version = DefaultEtcd3Version_1_13 diff --git a/pkg/model/components/etcdmanager/model.go b/pkg/model/components/etcdmanager/model.go index eb60e10e3c..c18f9e1493 100644 --- a/pkg/model/components/etcdmanager/model.go +++ b/pkg/model/components/etcdmanager/model.go @@ -189,7 +189,7 @@ metadata: namespace: kube-system spec: containers: - - image: kopeio/etcd-manager:3.0.20191025 + - image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: diff --git a/pkg/model/components/etcdmanager/options.go b/pkg/model/components/etcdmanager/options.go index a218c6989c..0f82eabb58 100644 --- a/pkg/model/components/etcdmanager/options.go +++ b/pkg/model/components/etcdmanager/options.go @@ -79,7 +79,7 @@ func (b *EtcdManagerOptionsBuilder) BuildOptions(o interface{}) error { return nil } -var supportedEtcdVersions = []string{"2.2.1", "3.1.12", "3.2.18", "3.2.24", "3.3.10", "3.3.13"} +var supportedEtcdVersions = []string{"2.2.1", "3.1.12", "3.2.18", "3.2.24", "3.3.10", "3.3.13", "3.4.3"} func etcdVersionIsSupported(version string) bool { version = strings.TrimPrefix(version, "v") diff --git a/pkg/model/components/etcdmanager/tests/minimal/tasks.yaml b/pkg/model/components/etcdmanager/tests/minimal/tasks.yaml index 53fa6c5b9e..188f9014e5 100644 --- a/pkg/model/components/etcdmanager/tests/minimal/tasks.yaml +++ b/pkg/model/components/etcdmanager/tests/minimal/tasks.yaml @@ -89,7 +89,7 @@ Contents: --v=6 --volume-name-tag=k8s.io/etcd/events --volume-provider=aws --volume-tag=k8s.io/etcd/events --volume-tag=k8s.io/role/master=1 --volume-tag=kubernetes.io/cluster/minimal.example.com=owned > /tmp/pipe 2>&1 - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: @@ -154,7 +154,7 @@ Contents: --v=6 --volume-name-tag=k8s.io/etcd/main --volume-provider=aws --volume-tag=k8s.io/etcd/main --volume-tag=k8s.io/role/master=1 --volume-tag=kubernetes.io/cluster/minimal.example.com=owned > /tmp/pipe 2>&1 - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: diff --git a/pkg/model/components/etcdmanager/tests/old_versions_mount_hosts/tasks.yaml b/pkg/model/components/etcdmanager/tests/old_versions_mount_hosts/tasks.yaml index b3d575d89c..d509ac10f7 100644 --- a/pkg/model/components/etcdmanager/tests/old_versions_mount_hosts/tasks.yaml +++ b/pkg/model/components/etcdmanager/tests/old_versions_mount_hosts/tasks.yaml @@ -89,7 +89,7 @@ Contents: --v=6 --volume-name-tag=k8s.io/etcd/events --volume-provider=aws --volume-tag=k8s.io/etcd/events --volume-tag=k8s.io/role/master=1 --volume-tag=kubernetes.io/cluster/minimal.example.com=owned > /tmp/pipe 2>&1 - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: @@ -160,7 +160,7 @@ Contents: --v=6 --volume-name-tag=k8s.io/etcd/main --volume-provider=aws --volume-tag=k8s.io/etcd/main --volume-tag=k8s.io/role/master=1 --volume-tag=kubernetes.io/cluster/minimal.example.com=owned > /tmp/pipe 2>&1 - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: diff --git a/pkg/model/components/etcdmanager/tests/proxy/tasks.yaml b/pkg/model/components/etcdmanager/tests/proxy/tasks.yaml index 27816eea07..b988eb1ff4 100644 --- a/pkg/model/components/etcdmanager/tests/proxy/tasks.yaml +++ b/pkg/model/components/etcdmanager/tests/proxy/tasks.yaml @@ -98,7 +98,7 @@ Contents: value: http://proxy.example.com - name: no_proxy value: noproxy.example.com - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: @@ -178,7 +178,7 @@ Contents: value: http://proxy.example.com - name: no_proxy value: noproxy.example.com - image: kopeio/etcd-manager:3.0.20191025 + image: kopeio/etcd-manager:3.0.20200116 name: etcd-manager resources: requests: