From a0ee5690919ad72725ca3bffe2dc00dff9c8b3d0 Mon Sep 17 00:00:00 2001 From: MRoci Date: Fri, 30 Apr 2021 16:43:58 +0200 Subject: [PATCH] change coredns image name to `coredns/coredns` and prefix `v` to tag (#7570) follow new naming conventions for gcr's coredns image. starting from 1.21 kubeadm assumes it to be `coredns/coredns`: this causes the kubeadm deployment being unable to pull image, beacuse `v` was also added in image tag, until the role `kubernetes-apps` ovverides it with the old name, which is only compatible with <=1.7. Backward comptability with kubeadm <=1.20 is mantained checking kubernetes version and falling back to old names (`coredns:1.xx`) when the version is less than 1.21 --- roles/download/defaults/main.yml | 8 +++++--- roles/download/templates/kubeadm-images.yaml.j2 | 2 +- .../templates/kubeadm-config.v1beta2.yaml.j2 | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml index a5fa6edad..b55732422 100644 --- a/roles/download/defaults/main.yml +++ b/roles/download/defaults/main.yml @@ -447,9 +447,11 @@ haproxy_image_tag: 2.3 # Coredns version should be supported by corefile-migration (or at least work with) # bundle with kubeadm; if not 'basic' upgrade can sometimes fail -coredns_version: "1.7.0" -coredns_image_repo: "{{ kube_image_repo }}/coredns" -coredns_image_tag: "{{ coredns_version }}" +coredns_image_is_namespaced: "{{ (kube_major_version | regex_replace('^v', '') | float) >= 1.21 }}" + +coredns_version: "v1.7.0" +coredns_image_repo: "{{ kube_image_repo }}{{'/coredns/coredns' if (coredns_image_is_namespaced | bool) else '/coredns' }}" +coredns_image_tag: "{{ coredns_version if (coredns_image_is_namespaced | bool) else (coredns_version | regex_replace('^v', '')) }}" nodelocaldns_version: "1.17.1" nodelocaldns_image_repo: "{{ kube_image_repo }}/dns/k8s-dns-node-cache" diff --git a/roles/download/templates/kubeadm-images.yaml.j2 b/roles/download/templates/kubeadm-images.yaml.j2 index eb9a41f14..7cca0e058 100644 --- a/roles/download/templates/kubeadm-images.yaml.j2 +++ b/roles/download/templates/kubeadm-images.yaml.j2 @@ -21,5 +21,5 @@ etcd: {% endif %} dns: type: CoreDNS - imageRepository: {{ coredns_image_repo | regex_replace('/coredns$','') }} + imageRepository: {{ coredns_image_repo | regex_replace('/coredns.*$','') }} imageTag: {{ coredns_image_tag }} diff --git a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2 b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2 index 11c3e714b..33e34c6c9 100644 --- a/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2 +++ b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2 @@ -84,7 +84,7 @@ etcd: {% endif %} dns: type: CoreDNS - imageRepository: {{ coredns_image_repo | regex_replace('/coredns$','') }} + imageRepository: {{ coredns_image_repo | regex_replace('/coredns.*$','') }} imageTag: {{ coredns_image_tag }} networking: dnsDomain: {{ dns_domain }}