diff --git a/roles/download/tasks/kubeadm_images.yml b/roles/download/tasks/kubeadm_images.yml new file mode 100644 index 0000000000000000000000000000000000000000..4ed068b918fbd0ba1ac828c65402b69fdd700f2e --- /dev/null +++ b/roles/download/tasks/kubeadm_images.yml @@ -0,0 +1,7 @@ +- name: kubeadm | Create kubeadm config + template: + src: "kubeadm-images.yaml.j2" + dest: "{{ kube_config_dir }}/kubeadm-images.yaml" + +- name: container_download | download images for kubeadm config images + command: "{{ local_release_dir }}/kubeadm config images pull --config={{ kube_config_dir }}/kubeadm-images.yaml" diff --git a/roles/download/tasks/main.yml b/roles/download/tasks/main.yml index efef4e4833ca48bc94c4d5bd700a80a671bc6b98..2100519fbda21346412f872bc6a2009bf0125847 100644 --- a/roles/download/tasks/main.yml +++ b/roles/download/tasks/main.yml @@ -24,3 +24,8 @@ - item.value.container | default(false) - download_run_once - group_names | intersect(download.groups) | length + +- include_tasks: kubeadm_images.yml + when: + - not skip_downloads|default(false) + - inventory_hostname in groups['kube-master'] diff --git a/roles/download/templates/kubeadm-images.yaml.j2 b/roles/download/templates/kubeadm-images.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..f15fe0fefb9c6bb08ec27b66b07f83081d00be0a --- /dev/null +++ b/roles/download/templates/kubeadm-images.yaml.j2 @@ -0,0 +1,16 @@ +{% if kube_version is version('v1.11.0', '<') %} +apiVersion: kubeadm.k8s.io/v1alpha1 +{% elif kube_version is version('v1.11.0', '>=') and kube_version is version('v1.12.0', '<') %} +apiVersion: kubeadm.k8s.io/v1alpha2 +{% elif kube_version is version('v1.12.0', '>=') and kube_version is version('v1.13.0', '<') %} +apiVersion: kubeadm.k8s.io/v1alpha3 +{% else %} +apiVersion: kubeadm.k8s.io/v1beta1 +{% endif %} +{% if kube_version is version('v1.12.0', '<') %} +kind: MasterConfiguration +{% else %} +kind: ClusterConfiguration +{% endif %} +imageRepository: {{ kube_image_repo }} +kubernetesVersion: {{ kube_version }}