diff --git a/apis/management.cattle.io/v3/k8s_defaults.go b/apis/management.cattle.io/v3/k8s_defaults.go index 12fb60be..51d71265 100644 --- a/apis/management.cattle.io/v3/k8s_defaults.go +++ b/apis/management.cattle.io/v3/k8s_defaults.go @@ -9,7 +9,7 @@ import ( ) const ( - DefaultK8s = "v1.14.4-rancher1-1" + DefaultK8s = "v1.14.5-rancher1-1" ) var ( @@ -28,9 +28,9 @@ var ( // Account for the fact that rke-tools image is different cross branches, and it requires using // different k8s version tag "v1.12.10-rancher1-1", - "v1.13.8-rancher1-1", - "v1.14.4-rancher1-1", - "v1.15.0-rancher1-2", + "v1.13.9-rancher1-2", + "v1.14.5-rancher1-1", + "v1.15.2-rancher1-1", } // K8sVersionToRKESystemImages is dynamically populated on init() with the latest versions @@ -1191,9 +1191,10 @@ var ( CoreDNSAutoscaler: m("gcr.io/google_containers/cluster-proportional-autoscaler:1.0.0"), }, // Enabled in Rancher v2.2.7 - "v1.13.8-rancher1-1": { + // v1.13.9-rancher1-1 is the backported version made available due to older rke-tools (see line #1567) + "v1.13.9-rancher1-2": { Etcd: m("quay.io/coreos/etcd:v3.2.24-rancher1"), - Kubernetes: m("rancher/hyperkube:v1.13.8-rancher1"), + Kubernetes: m("rancher/hyperkube:v1.13.9-rancher1"), Alpine: m("rancher/rke-tools:v0.1.40"), NginxProxy: m("rancher/rke-tools:v0.1.40"), CertDownloader: m("rancher/rke-tools:v0.1.40"), @@ -1305,9 +1306,9 @@ var ( CoreDNS: m("coredns/coredns:1.3.1"), CoreDNSAutoscaler: m("gcr.io/google_containers/cluster-proportional-autoscaler:1.3.0"), }, // Enabled in Rancher v2.2.7 - "v1.14.4-rancher1-1": { + "v1.14.5-rancher1-1": { Etcd: m("quay.io/coreos/etcd:v3.3.10-rancher1"), - Kubernetes: m("rancher/hyperkube:v1.14.4-rancher1"), + Kubernetes: m("rancher/hyperkube:v1.14.5-rancher1"), Alpine: m("rancher/rke-tools:v0.1.40"), NginxProxy: m("rancher/rke-tools:v0.1.40"), CertDownloader: m("rancher/rke-tools:v0.1.40"), @@ -1364,9 +1365,9 @@ var ( CoreDNSAutoscaler: m("gcr.io/google_containers/cluster-proportional-autoscaler:1.3.0"), }, // Experimental in Rancher v2.2.7 - "v1.15.0-rancher1-2": { + "v1.15.2-rancher1-1": { Etcd: m("quay.io/coreos/etcd:v3.3.10-rancher1"), - Kubernetes: m("rancher/hyperkube:v1.15.0-rancher1"), + Kubernetes: m("rancher/hyperkube:v1.15.2-rancher1"), Alpine: m("rancher/rke-tools:v0.1.40"), NginxProxy: m("rancher/rke-tools:v0.1.40"), CertDownloader: m("rancher/rke-tools:v0.1.40"), @@ -1561,6 +1562,34 @@ var ( IngressBackend: m("k8s.gcr.io/defaultbackend:1.4"), MetricsServer: m("gcr.io/google_containers/metrics-server-amd64:v0.3.1"), }, + // k8s version from 2.1.x release with old rke-tools to allow upgrade from 2.1.x clusters + // without all clusters being restarted + "v1.13.9-rancher1-1": { + Etcd: m("quay.io/coreos/etcd:v3.2.24"), + Kubernetes: m("rancher/hyperkube:v1.13.9-rancher1"), + Alpine: m("rancher/rke-tools:v0.1.16"), + NginxProxy: m("rancher/rke-tools:v0.1.16"), + CertDownloader: m("rancher/rke-tools:v0.1.16"), + KubernetesServicesSidecar: m("rancher/rke-tools:v0.1.16"), + KubeDNS: m("gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.15.0"), + DNSmasq: m("gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.15.0"), + KubeDNSSidecar: m("gcr.io/google_containers/k8s-dns-sidecar-amd64:1.15.0"), + KubeDNSAutoscaler: m("gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0"), + Flannel: m("quay.io/coreos/flannel:v0.10.0"), + FlannelCNI: m("quay.io/coreos/flannel-cni:v0.3.0"), + CalicoNode: m("quay.io/calico/node:v3.4.0"), + CalicoCNI: m("quay.io/calico/cni:v3.4.0"), + CalicoCtl: m("quay.io/calico/ctl:v2.0.0"), + CanalNode: m("quay.io/calico/node:v3.4.0"), + CanalCNI: m("quay.io/calico/cni:v3.4.0"), + CanalFlannel: m("quay.io/coreos/flannel:v0.10.0"), + WeaveNode: m("weaveworks/weave-kube:2.5.0"), + WeaveCNI: m("weaveworks/weave-npc:2.5.0"), + PodInfraContainer: m("gcr.io/google_containers/pause-amd64:3.1"), + Ingress: m("rancher/nginx-ingress-controller:0.21.0-rancher1"), + IngressBackend: m("k8s.gcr.io/defaultbackend:1.4"), + MetricsServer: m("gcr.io/google_containers/metrics-server-amd64:v0.3.1"), + }, } ) diff --git a/apis/management.cattle.io/v3/k8s_windows_default.go b/apis/management.cattle.io/v3/k8s_windows_default.go index a0147ffa..d3c52f04 100644 --- a/apis/management.cattle.io/v3/k8s_windows_default.go +++ b/apis/management.cattle.io/v3/k8s_windows_default.go @@ -285,12 +285,6 @@ var ( FlannelCNIBinaries: m("rancher/flannel-cni:v0.0.1-nanoserver-1803"), KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), }, - "v1.12.10-rancher1-1": { - NginxProxy: m("rancher/nginx-proxy:v0.0.1-nanoserver-1803"), - KubernetesBinaries: m("rancher/hyperkube:v1.12.10-nanoserver-1803"), - FlannelCNIBinaries: m("rancher/flannel-cni:v0.0.1-nanoserver-1803"), - KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), - }, "v1.13.1-rancher1-2": { NginxProxy: m("rancher/nginx-proxy:v0.0.1-nanoserver-1803"), KubernetesBinaries: m("rancher/hyperkube:v1.13.1-nanoserver-1803"), @@ -345,14 +339,6 @@ var ( CanalCNIBinaries: m("rancher/canal-cni:v0.0.1-nanoserver-1803"), KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), }, - "v1.13.8-rancher1-1": { - NginxProxy: m("rancher/nginx-proxy:v0.0.1-nanoserver-1803"), - KubernetesBinaries: m("rancher/hyperkube:v1.13.8-nanoserver-1803"), - FlannelCNIBinaries: m("rancher/flannel-cni:v0.0.1-nanoserver-1803"), - CalicoCNIBinaries: m("rancher/calico-cni:v0.0.1-nanoserver-1803"), - CanalCNIBinaries: m("rancher/canal-cni:v0.0.1-nanoserver-1803"), - KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), - }, "v1.14.1-rancher1-1": { NginxProxy: m("rancher/nginx-proxy:v0.0.1-nanoserver-1803"), KubernetesBinaries: m("rancher/hyperkube:v1.14.1-nanoserver-1803"), @@ -377,26 +363,12 @@ var ( CanalCNIBinaries: m("rancher/canal-cni:v0.0.1-nanoserver-1803"), KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), }, - "v1.14.4-rancher1-1": { - NginxProxy: m("rancher/nginx-proxy:v0.0.1-nanoserver-1803"), - KubernetesBinaries: m("rancher/hyperkube:v1.14.4-nanoserver-1803"), - FlannelCNIBinaries: m("rancher/flannel-cni:v0.0.1-nanoserver-1803"), - CalicoCNIBinaries: m("rancher/calico-cni:v0.0.1-nanoserver-1803"), - CanalCNIBinaries: m("rancher/canal-cni:v0.0.1-nanoserver-1803"), - KubeletPause: m("rancher/kubelet-pause:v0.0.1-nanoserver-1803"), - }, "v1.15.0-rancher1-1": { // NginxProxy image is replaced by host running nginx, fixed rancher#16074 KubernetesBinaries: m("rancher/hyperkube:v1.15.0-rancher1"), FlannelCNIBinaries: m("rancher/flannel-cni:v0.3.0-rancher4"), KubeletPause: m("rancher/kubelet-pause:v0.1.2"), }, - "v1.15.0-rancher1-2": { - // NginxProxy image is replaced by host running nginx, fixed rancher#16074 - KubernetesBinaries: m("rancher/hyperkube:v1.15.0-rancher1"), - FlannelCNIBinaries: m("rancher/flannel-cni:v0.3.0-rancher4"), - KubeletPause: m("rancher/kubelet-pause:v0.1.2"), - }, } ) @@ -417,16 +389,23 @@ func initWindows() { if badVersions[version] { continue } + // we stopped building Windows images at 1.12.10 (earliest previous version was 1.12.9), 1.13.9 (earliest previous version is 1.13.7), 1.14.5 (earliest previous version is 1.14.3) and 1.15.2 (earliest previous version was 1.15.0) + // existing images are still checked + if (version > "v1.12.10" && version < "v1.12.99") || (version > "v1.13.8" && version < "v1.13.99") || (version > "v1.14.4" && version < "v1.14.99") || version > "v1.15.1" { + continue + } images, ok := allK8sWindowsVersions[version] if !ok { - panic("K8s version " + " is not found in AllK8sWindowsVersions map") + panic("K8s version " + version + " is not found in AllK8sWindowsVersions map") } K8sVersionWindowsSystemImages[version] = images } - if _, ok := K8sVersionWindowsSystemImages[DefaultK8s]; !ok { - panic("Default K8s version " + DefaultK8s + " is not found in k8sVersionsCurrent list") + if DefaultK8s < "v1.12.10" || (DefaultK8s > "v1.13.0" && DefaultK8s < "v1.13.8") || (DefaultK8s > "v1.14.0" && DefaultK8s < "v1.14.4") || (DefaultK8s > "v1.14.99" && DefaultK8s < "v1.15.1") { + if _, ok := K8sVersionWindowsSystemImages[DefaultK8s]; !ok { + panic("Default K8s version " + DefaultK8s + " is not found in k8sVersionsCurrent list") + } } }