2015-10-04 04:19:50 +08:00
|
|
|
---
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Fetch facts
|
|
|
|
import_tasks: facts.yml
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- facts
|
2023-09-11 20:12:11 +08:00
|
|
|
- kubelet
|
2016-12-13 18:43:06 +08:00
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Pre-upgrade kubelet
|
|
|
|
import_tasks: pre_upgrade.yml
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- kubelet
|
2017-04-03 21:50:17 +08:00
|
|
|
|
2017-04-20 00:00:44 +08:00
|
|
|
- name: Ensure /var/lib/cni exists
|
|
|
|
file:
|
|
|
|
path: /var/lib/cni
|
|
|
|
state: directory
|
2024-07-26 09:42:20 +08:00
|
|
|
mode: "0755"
|
2017-04-20 00:00:44 +08:00
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Install kubelet binary
|
|
|
|
import_tasks: install.yml
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- kubelet
|
2016-02-12 06:08:16 +08:00
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Install kube-vip
|
|
|
|
import_tasks: loadbalancer/kube-vip.yml
|
2022-04-08 01:37:57 +08:00
|
|
|
when:
|
2024-09-06 14:56:19 +08:00
|
|
|
- ('kube_control_plane' in group_names)
|
2022-04-08 01:37:57 +08:00
|
|
|
- kube_vip_enabled
|
|
|
|
tags:
|
|
|
|
- kube-vip
|
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Install nginx-proxy
|
|
|
|
import_tasks: loadbalancer/nginx-proxy.yml
|
2019-04-17 23:42:03 +08:00
|
|
|
when:
|
2024-09-06 14:56:19 +08:00
|
|
|
- ('kube_control_plane' not in group_names) or (kube_apiserver_bind_address != '0.0.0.0')
|
2019-04-17 23:42:03 +08:00
|
|
|
- loadbalancer_apiserver_localhost
|
|
|
|
- loadbalancer_apiserver_type == 'nginx'
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- nginx
|
2016-09-28 19:05:08 +08:00
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Install haproxy
|
|
|
|
import_tasks: loadbalancer/haproxy.yml
|
2019-04-17 23:42:03 +08:00
|
|
|
when:
|
2024-09-06 14:56:19 +08:00
|
|
|
- ('kube_control_plane' not in group_names) or (kube_apiserver_bind_address != '0.0.0.0')
|
2019-04-17 23:42:03 +08:00
|
|
|
- loadbalancer_apiserver_localhost
|
|
|
|
- loadbalancer_apiserver_type == 'haproxy'
|
2019-04-10 20:56:18 +08:00
|
|
|
tags:
|
|
|
|
- haproxy
|
|
|
|
|
2017-02-03 23:26:30 +08:00
|
|
|
- name: Ensure nodePort range is reserved
|
2023-06-26 18:15:45 +08:00
|
|
|
ansible.posix.sysctl:
|
2017-02-03 23:26:30 +08:00
|
|
|
name: net.ipv4.ip_local_reserved_ports
|
|
|
|
value: "{{ kube_apiserver_node_port_range }}"
|
2024-08-28 13:30:56 +08:00
|
|
|
sysctl_set: true
|
2018-04-27 23:50:58 +08:00
|
|
|
sysctl_file: "{{ sysctl_file_path }}"
|
2017-02-03 23:26:30 +08:00
|
|
|
state: present
|
2024-08-28 13:30:56 +08:00
|
|
|
reload: true
|
2017-02-03 23:26:30 +08:00
|
|
|
when: kube_apiserver_node_port_range is defined
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- kube-proxy
|
2017-02-03 23:26:30 +08:00
|
|
|
|
2020-07-28 16:39:08 +08:00
|
|
|
- name: Verify if br_netfilter module exists
|
|
|
|
command: "modinfo br_netfilter"
|
2018-06-13 02:30:18 +08:00
|
|
|
environment:
|
2019-05-03 05:24:21 +08:00
|
|
|
PATH: "{{ ansible_env.PATH }}:/sbin" # Make sure we can workaround RH's conservative path management
|
2017-09-06 20:11:51 +08:00
|
|
|
register: modinfo_br_netfilter
|
|
|
|
failed_when: modinfo_br_netfilter.rc not in [0, 1]
|
|
|
|
changed_when: false
|
2024-08-28 13:30:56 +08:00
|
|
|
check_mode: false
|
2017-09-06 20:11:51 +08:00
|
|
|
|
2023-12-21 23:16:34 +08:00
|
|
|
# TODO: Remove once upstream issue is fixed
|
|
|
|
# https://github.com/ansible-collections/community.general/issues/7717
|
2018-12-18 17:39:25 +08:00
|
|
|
- name: Verify br_netfilter module path exists
|
|
|
|
file:
|
2023-12-21 23:16:34 +08:00
|
|
|
path: "{{ item }}"
|
2018-12-18 17:39:25 +08:00
|
|
|
state: directory
|
2024-07-26 09:42:20 +08:00
|
|
|
mode: "0755"
|
2023-12-21 23:16:34 +08:00
|
|
|
loop:
|
|
|
|
- /etc/modules-load.d
|
|
|
|
- /etc/modprobe.d
|
2018-12-18 17:39:25 +08:00
|
|
|
|
2017-09-06 20:11:51 +08:00
|
|
|
- name: Enable br_netfilter module
|
2023-06-26 18:15:45 +08:00
|
|
|
community.general.modprobe:
|
2017-09-06 20:11:51 +08:00
|
|
|
name: br_netfilter
|
|
|
|
state: present
|
|
|
|
when: modinfo_br_netfilter.rc == 0
|
|
|
|
|
2017-10-13 17:50:29 +08:00
|
|
|
- name: Persist br_netfilter module
|
|
|
|
copy:
|
|
|
|
dest: /etc/modules-load.d/kubespray-br_netfilter.conf
|
|
|
|
content: br_netfilter
|
2024-07-26 09:42:20 +08:00
|
|
|
mode: "0644"
|
2017-10-13 17:50:29 +08:00
|
|
|
when: modinfo_br_netfilter.rc == 0
|
|
|
|
|
2017-09-06 20:11:51 +08:00
|
|
|
# kube-proxy needs net.bridge.bridge-nf-call-iptables enabled when found if br_netfilter is not a module
|
|
|
|
- name: Check if bridge-nf-call-iptables key exists
|
|
|
|
command: "sysctl net.bridge.bridge-nf-call-iptables"
|
|
|
|
failed_when: false
|
|
|
|
changed_when: false
|
2024-08-28 13:30:56 +08:00
|
|
|
check_mode: false
|
2017-09-06 20:11:51 +08:00
|
|
|
register: sysctl_bridge_nf_call_iptables
|
|
|
|
|
|
|
|
- name: Enable bridge-nf-call tables
|
2023-06-26 18:15:45 +08:00
|
|
|
ansible.posix.sysctl:
|
2017-09-06 20:11:51 +08:00
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
2018-04-27 23:50:58 +08:00
|
|
|
sysctl_file: "{{ sysctl_file_path }}"
|
2019-05-09 04:38:36 +08:00
|
|
|
value: "1"
|
2024-08-28 13:30:56 +08:00
|
|
|
reload: true
|
2017-12-13 01:09:27 +08:00
|
|
|
when: sysctl_bridge_nf_call_iptables.rc == 0
|
2017-09-06 20:11:51 +08:00
|
|
|
with_items:
|
|
|
|
- net.bridge.bridge-nf-call-iptables
|
|
|
|
- net.bridge.bridge-nf-call-arptables
|
|
|
|
- net.bridge.bridge-nf-call-ip6tables
|
|
|
|
|
2020-07-22 14:58:25 +08:00
|
|
|
- name: Modprobe Kernel Module for IPVS
|
2023-06-26 18:15:45 +08:00
|
|
|
community.general.modprobe:
|
2018-01-29 13:15:32 +08:00
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
2023-11-29 01:31:02 +08:00
|
|
|
persistent: present
|
2023-11-08 19:44:02 +08:00
|
|
|
loop: "{{ kube_proxy_ipvs_modules }}"
|
2018-08-14 20:13:44 +08:00
|
|
|
when: kube_proxy_mode == 'ipvs'
|
2018-01-29 13:15:32 +08:00
|
|
|
tags:
|
|
|
|
- kube-proxy
|
|
|
|
|
2023-11-29 01:31:02 +08:00
|
|
|
- name: Modprobe conntrack module
|
2023-06-26 18:15:45 +08:00
|
|
|
community.general.modprobe:
|
2023-11-29 01:31:02 +08:00
|
|
|
name: "{{ item }}"
|
2018-12-12 21:33:54 +08:00
|
|
|
state: present
|
2023-11-29 01:31:02 +08:00
|
|
|
persistent: present
|
2023-11-20 16:48:06 +08:00
|
|
|
register: modprobe_conntrack_module
|
2021-07-12 15:00:47 +08:00
|
|
|
ignore_errors: true # noqa ignore-errors
|
2023-11-29 01:31:02 +08:00
|
|
|
loop: "{{ conntrack_modules }}"
|
2020-06-16 15:34:06 +08:00
|
|
|
when:
|
2018-12-12 21:33:54 +08:00
|
|
|
- kube_proxy_mode == 'ipvs'
|
2023-11-29 01:31:02 +08:00
|
|
|
- "(modprobe_conntrack_module|default({'rc': 1})).rc != 0" # loop until first success
|
2018-04-04 18:18:51 +08:00
|
|
|
tags:
|
|
|
|
- kube-proxy
|
|
|
|
|
2023-07-26 22:36:22 +08:00
|
|
|
- name: Install kubelet
|
|
|
|
import_tasks: kubelet.yml
|
2017-10-05 15:43:04 +08:00
|
|
|
tags:
|
|
|
|
- kubelet
|
2019-10-09 17:19:49 +08:00
|
|
|
- kubeadm
|