mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-06-07 16:06:15 -02:30
* kubeadm: do not ignore preflight errors blindly The "ignoring all errors" seems to date back to the inception of the kubeadm support (it was --skip-preflight-check before). This can mask real errors and prevent users from seeing them. Do not ignore any errors by default and make the set of ignored errors configurable. * download/kubeadm: remove redundant task The mode is already set by the previous `copy` task. * Validate kubeadm configs This should help to fail early when we have invalid kubeadm configs (from a kubespray bug or a misconfiguration). * kubeadm-upgrade: remove unnecessary bool cast * Convert kubeadm join discovery timeout to v1beta4 config * CI: Ignore kubeadm:Mem errors on some setup.
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
---
|
|
- name: Prep_kubeadm_images | Download kubeadm binary
|
|
include_tasks: "download_file.yml"
|
|
vars:
|
|
download: "{{ download_defaults | combine(downloads.kubeadm) }}"
|
|
when:
|
|
- not skip_downloads | default(false)
|
|
- downloads.kubeadm.enabled
|
|
|
|
- name: Prep_kubeadm_images | Copy kubeadm binary from download dir to system path
|
|
copy:
|
|
src: "{{ downloads.kubeadm.dest }}"
|
|
dest: "{{ bin_dir }}/kubeadm"
|
|
mode: "0755"
|
|
remote_src: true
|
|
|
|
- name: Prep_kubeadm_images | Create kubeadm config
|
|
template:
|
|
src: "kubeadm-images.yaml.j2"
|
|
dest: "{{ kube_config_dir }}/kubeadm-images.yaml"
|
|
mode: "0644"
|
|
validate: "{{ bin_dir }}/kubeadm config validate --config %s"
|
|
when:
|
|
- not skip_kubeadm_images | default(false)
|
|
|
|
- name: Prep_kubeadm_images | Generate list of required images
|
|
shell: "set -o pipefail && {{ bin_dir }}/kubeadm config images list --config={{ kube_config_dir }}/kubeadm-images.yaml | grep -Ev 'coredns|pause'"
|
|
args:
|
|
executable: /bin/bash
|
|
register: kubeadm_images_raw
|
|
run_once: true
|
|
changed_when: false
|
|
when:
|
|
- not skip_kubeadm_images | default(false)
|
|
|
|
- name: Prep_kubeadm_images | Parse list of images
|
|
vars:
|
|
kubeadm_images_list: "{{ kubeadm_images_raw.stdout_lines }}"
|
|
set_fact:
|
|
kubeadm_image:
|
|
key: "kubeadm_{{ (item | regex_replace('^(?:.*\\/)*', '')).split(':')[0] }}"
|
|
value:
|
|
enabled: true
|
|
container: true
|
|
repo: "{{ item | regex_replace('^(.*):.*$', '\\1') }}"
|
|
tag: "{{ item | regex_replace('^.*:(.*)$', '\\1') }}"
|
|
groups: k8s_cluster
|
|
loop: "{{ kubeadm_images_list | flatten(levels=1) }}"
|
|
register: kubeadm_images_cooked
|
|
run_once: true
|
|
when:
|
|
- not skip_kubeadm_images | default(false)
|
|
|
|
- name: Prep_kubeadm_images | Convert list of images to dict for later use
|
|
set_fact:
|
|
kubeadm_images: "{{ kubeadm_images_cooked.results | map(attribute='ansible_facts.kubeadm_image') | list | items2dict }}"
|
|
run_once: true
|
|
when:
|
|
- not skip_kubeadm_images | default(false)
|