2054a98cf7
Addressing the discussion started in #4064, this PR moves kubeadm and hyperkube binaries to /usr/local/bin before running them on the master nodes. It is to address the case where local_release_dir points to /tmp (kubespray default) and /tmp is mounted with noexec mode, preventing any binaries to be run in that partition. In role "node", we still move kubeadm to bin_dir only on the worker nodes.
82 lines
1.9 KiB
YAML
82 lines
1.9 KiB
YAML
---
|
|
- name: install | Copy kubeadm binary from download dir
|
|
synchronize:
|
|
src: "{{ local_release_dir }}/kubeadm"
|
|
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"
|
|
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"
|
|
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
|