d6fd0d2aca
* Download to delegate and sync files when download_run_once * Fail on error after saving container image * Do not set changed status when downloaded container was up to date * Only sync containers when they are actually required Previously, non-required images (pull_required=false as image existed on target host) were synced to the target hosts. This failed as the image was not downloaded to the download_delegate and hence was not available for syncing. * Sync containers when only missing on some hosts * Consider images with multiple repo tags * Enable kubeadm images pull/syncing with download_delegate * Use kubeadm images list to pull/sync 'kubeadm config images pull' is replaced by collecting the images list with 'kubeadm config images list' and using the commonly used method of pull/syncing the images. * Ensure containers are downloaded and synced for all hosts * Fix download/syncing when download_delegate is a kubernetes host
82 lines
2 KiB
YAML
82 lines
2 KiB
YAML
---
|
|
- name: install | Copy kubeadm binary from download dir
|
|
synchronize:
|
|
src: "{{ local_release_dir }}/kubeadm-{{ kubeadm_version }}-{{ image_arch }}"
|
|
dest: "{{ bin_dir }}/kubeadm"
|
|
compress: no
|
|
perms: yes
|
|
owner: no
|
|
group: no
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
tags:
|
|
- kubeadm
|
|
when:
|
|
- not inventory_hostname in groups['kube-master']
|
|
|
|
- name: install | Set kubeadm binary permissions
|
|
file:
|
|
path: "{{ bin_dir }}/kubeadm"
|
|
mode: "0755"
|
|
state: file
|
|
tags:
|
|
- kubeadm
|
|
when:
|
|
- not inventory_hostname in groups['kube-master']
|
|
|
|
- name: install | Copy kubelet binary from download dir
|
|
synchronize:
|
|
src: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
|
|
dest: "{{ bin_dir }}/kubelet"
|
|
compress: no
|
|
perms: yes
|
|
owner: no
|
|
group: no
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
tags:
|
|
- hyperkube
|
|
- upgrade
|
|
notify: restart kubelet
|
|
|
|
- name: install | Set kubelet binary permissions
|
|
file:
|
|
path: "{{ bin_dir }}/kubelet"
|
|
mode: "0755"
|
|
state: file
|
|
tags:
|
|
- hyperkube
|
|
- upgrade
|
|
|
|
- name: install | Copy hyperkube binary from download dir
|
|
synchronize:
|
|
src: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
|
|
dest: "{{ bin_dir }}/hyperkube"
|
|
compress: no
|
|
perms: yes
|
|
owner: no
|
|
group: no
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
tags:
|
|
- hyperkube
|
|
- upgrade
|
|
|
|
- name: install | Set hyperkube binary permissions
|
|
file:
|
|
path: "{{ bin_dir }}/hyperkube"
|
|
mode: "0755"
|
|
state: file
|
|
tags:
|
|
- hyperkube
|
|
- upgrade
|
|
|
|
- name: install | Copy socat wrapper for Container Linux
|
|
command: "{{ docker_bin_dir }}/docker run --rm -v {{ bin_dir }}:/opt/bin {{ install_socat_image_repo }}:{{ install_socat_image_tag }}"
|
|
args:
|
|
creates: "{{ bin_dir }}/socat"
|
|
when: ansible_os_family in ['CoreOS', 'Container Linux by CoreOS']
|
|
|
|
- name: install | Write kubelet systemd init file
|
|
template:
|
|
src: "kubelet.host.service.j2"
|
|
dest: "/etc/systemd/system/kubelet.service"
|
|
backup: "yes"
|
|
notify: restart kubelet
|