Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions data/data.json
Original file line number Diff line number Diff line change
Expand Up @@ -15330,6 +15330,45 @@
"aciOvsContainer": "noiro/openvswitch:6.1.1.4.81c2369",
"aciControllerContainer": "noiro/aci-containers-controller:6.1.1.4.81c2369"
},
"v1.32.5-rancher2-1": {
"etcd": "rancher/mirrored-coreos-etcd:v3.5.16",
"alpine": "rancher/rke-tools:v0.1.113",
"nginxProxy": "rancher/rke-tools:v0.1.113",
"certDownloader": "rancher/rke-tools:v0.1.113",
"kubernetesServicesSidecar": "rancher/rke-tools:v0.1.113",
"kubedns": "rancher/mirrored-k8s-dns-kube-dns:1.23.0",
"dnsmasq": "rancher/mirrored-k8s-dns-dnsmasq-nanny:1.23.0",
"kubednsSidecar": "rancher/mirrored-k8s-dns-sidecar:1.23.0",
"kubednsAutoscaler": "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
"coredns": "rancher/mirrored-coredns-coredns:1.11.3",
"corednsAutoscaler": "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
"nodelocal": "rancher/mirrored-k8s-dns-node-cache:1.23.0",
"kubernetes": "rke-extended-life/hyperkube:v1.32.5-rancher2",
"flannel": "rancher/mirrored-flannel-flannel:v0.26.4",
"flannelCni": "rancher/flannel-cni:v1.4.1-rancher1",
"calicoNode": "rancher/mirrored-calico-node:v3.29.3",
"calicoCni": "rancher/calico-cni:v3.29.3-rancher1",
"calicoControllers": "rancher/mirrored-calico-kube-controllers:v3.29.3",
"calicoCtl": "rancher/mirrored-calico-ctl:v3.29.3",
"calicoFlexVol": "rancher/mirrored-calico-pod2daemon-flexvol:v3.29.3",
"canalNode": "rancher/mirrored-calico-node:v3.29.3",
"canalCni": "rancher/calico-cni:v3.29.3-rancher1",
"canalControllers": "rancher/mirrored-calico-kube-controllers:v3.29.3",
"canalFlannel": "rancher/mirrored-flannel-flannel:v0.26.4",
"canalFlexVol": "rancher/mirrored-calico-pod2daemon-flexvol:v3.29.3",
"podInfraContainer": "rancher/mirrored-pause:3.7",
"ingress": "rancher/nginx-ingress-controller:nginx-1.12.1-rancher3",
"ingressBackend": "rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher2",
"ingressWebhook": "rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.5.2",
"metricsServer": "rancher/mirrored-metrics-server:v0.7.2",
"windowsPodInfraContainer": "rancher/mirrored-pause:3.7",
"aciCniDeployContainer": "noiro/cnideploy:6.1.1.4.81c2369",
"aciHostContainer": "noiro/aci-containers-host:6.1.1.4.81c2369",
"aciOpflexContainer": "noiro/opflex:6.1.1.4.81c2369",
"aciMcastContainer": "noiro/opflex:6.1.1.4.81c2369",
"aciOvsContainer": "noiro/openvswitch:6.1.1.4.81c2369",
"aciControllerContainer": "noiro/aci-containers-controller:6.1.1.4.81c2369"
},
"v1.8.11-rancher2-1": {
"etcd": "rancher/coreos-etcd:v3.0.17",
"alpine": "rancher/rke-tools:v0.1.8",
Expand Down
4 changes: 4 additions & 0 deletions pkg/images/images.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ func getImages(distro string, versions []interface{}) (all []string, err error)
if strings.HasPrefix(image, "weaveworks") || strings.HasPrefix(image, "noiro") {
continue
}
// skip post EOL images
if strings.HasPrefix(image, "rke-extended-life") {
continue
}
// all images should be prefixed by "rancher"
if !strings.HasPrefix(converted, "rancher") {
return nil, fmt.Errorf("RKE system image %s does not start with rancher", converted)
Expand Down
26 changes: 23 additions & 3 deletions pkg/rke/k8s_defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,30 @@ func initData() {
RKE2: map[string]interface{}{},
}

postEOLVersionsRange := []semver.Range{
semver.MustParseRange(">= 1.32.5-rancher2-1 <1.32.6-rancher1-1"),
}

for version, images := range DriverData.K8sVersionRKESystemImages {
longName := "rancher/hyperkube:" + version
if !strings.HasPrefix(longName, images.Kubernetes) {
panic(fmt.Sprintf("For K8s version %s, the Kubernetes image tag should be a substring of %s, currently it is %s", version, version, images.Kubernetes))
k8sVersion, _ := semver.Parse(version[1:])
var isPostEOLVersion bool
for _, postEOLVersion := range postEOLVersionsRange {
if postEOLVersion(k8sVersion) {
isPostEOLVersion = true
break
}
}

if isPostEOLVersion {
postEOLImage := "rke-extended-life/hyperkube:" + version
if !strings.HasPrefix(postEOLImage, images.Kubernetes) {
panic(fmt.Sprintf("For K8s version %s, the Kubernetes image tag should be a substring of %s, currently it is %s", version, postEOLImage, images.Kubernetes))
}
} else {
longName := "rancher/hyperkube:" + version
if !strings.HasPrefix(longName, images.Kubernetes) {
panic(fmt.Sprintf("For K8s version %s, the Kubernetes image tag should be a substring of %s, currently it is %s", version, version, images.Kubernetes))
}
}
}

Expand Down
40 changes: 40 additions & 0 deletions pkg/rke/k8s_rke_system_images.go
Original file line number Diff line number Diff line change
Expand Up @@ -12152,6 +12152,46 @@ func loadK8sRKESystemImages() map[string]v3.RKESystemImages {
WindowsPodInfraContainer: "rancher/mirrored-pause:3.7",
Nodelocal: "rancher/mirrored-k8s-dns-node-cache:1.23.0",
},
// Out of band post Rancher v2.11.3
"v1.32.5-rancher2-1": {
Etcd: "rancher/mirrored-coreos-etcd:v3.5.16",
Kubernetes: "rke-extended-life/hyperkube:v1.32.5-rancher2",
Alpine: "rancher/rke-tools:v0.1.113",
NginxProxy: "rancher/rke-tools:v0.1.113",
CertDownloader: "rancher/rke-tools:v0.1.113",
KubernetesServicesSidecar: "rancher/rke-tools:v0.1.113",
KubeDNS: "rancher/mirrored-k8s-dns-kube-dns:1.23.0",
DNSmasq: "rancher/mirrored-k8s-dns-dnsmasq-nanny:1.23.0",
KubeDNSSidecar: "rancher/mirrored-k8s-dns-sidecar:1.23.0",
KubeDNSAutoscaler: "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
Flannel: "rancher/mirrored-flannel-flannel:v0.26.4",
FlannelCNI: "rancher/flannel-cni:v1.4.1-rancher1",
CalicoNode: "rancher/mirrored-calico-node:v3.29.3",
CalicoCNI: "rancher/calico-cni:v3.29.3-rancher1",
CalicoControllers: "rancher/mirrored-calico-kube-controllers:v3.29.3",
CalicoCtl: "rancher/mirrored-calico-ctl:v3.29.3",
CalicoFlexVol: "rancher/mirrored-calico-pod2daemon-flexvol:v3.29.3",
CanalNode: "rancher/mirrored-calico-node:v3.29.3",
CanalCNI: "rancher/calico-cni:v3.29.3-rancher1",
CanalControllers: "rancher/mirrored-calico-kube-controllers:v3.29.3",
CanalFlannel: "rancher/mirrored-flannel-flannel:v0.26.4",
CanalFlexVol: "rancher/mirrored-calico-pod2daemon-flexvol:v3.29.3",
AciCniDeployContainer: "noiro/cnideploy:6.1.1.4.81c2369",
AciHostContainer: "noiro/aci-containers-host:6.1.1.4.81c2369",
AciOpflexContainer: "noiro/opflex:6.1.1.4.81c2369",
AciMcastContainer: "noiro/opflex:6.1.1.4.81c2369",
AciOpenvSwitchContainer: "noiro/openvswitch:6.1.1.4.81c2369",
AciControllerContainer: "noiro/aci-containers-controller:6.1.1.4.81c2369",
PodInfraContainer: "rancher/mirrored-pause:3.7",
Ingress: "rancher/nginx-ingress-controller:nginx-1.12.1-rancher3",
IngressBackend: "rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher2",
IngressWebhook: "rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.5.2",
MetricsServer: "rancher/mirrored-metrics-server:v0.7.2",
CoreDNS: "rancher/mirrored-coredns-coredns:1.11.3",
CoreDNSAutoscaler: "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
WindowsPodInfraContainer: "rancher/mirrored-pause:3.7",
Nodelocal: "rancher/mirrored-k8s-dns-node-cache:1.23.0",
},
// 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.11.9-rancher1-3": {
Expand Down