blob: e339fbcb3b0410849cf3b5d75ce42661e05ec049 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
---
- name: generate apt pin files for kubeadm and kubectl
loop:
- kubeadm
- kubectl
copy:
dest: "/etc/apt/preferences.d/{{ item }}.pref"
content: |
Package: {{ item }}
Pin: version {{ kubernetes_version }}-00
Pin-Priority: 1001
- name: install kubeadm packages
apt:
name:
- haproxy
- hatop
- "kubeadm={{ kubernetes_version }}-00"
- "kubectl={{ kubernetes_version }}-00"
state: present
allow_downgrade: yes
- name: add kubeadm config for shells
loop:
- zsh
- bash
blockinfile:
path: "/root/.{{ item }}rc"
create: yes
marker: "### {mark} ANSIBLE MANAGED BLOCK for kubeadm ###"
content: |
source <(kubeadm completion {{ item }})
- name: configure haproxy
template:
src: haproxy.cfg.j2
dest: /etc/haproxy/haproxy.cfg
register: haproxy_config
- name: (re)start haproxy
systemd:
name: haproxy
state: "{% if haproxy_config is changed %}restarted{% else %}started{% endif %}"
enabled: yes
- name: add hatop config for shells
loop:
- zsh
- bash
blockinfile:
path: "/root/.{{ item }}rc"
create: yes
marker: "### {mark} ANSIBLE MANAGED BLOCK for hatop ###"
content: |
alias hatop='hatop -s /run/haproxy/admin.sock'
## loading the modules temporarly because kubeadm will complain if they are not there
# but i don't think it is necessary to make this persistent, also ignoring changes here
- name: load module br_netfilter to satisfy kubeadm init/join
modprobe:
name: br_netfilter
state: present
changed_when: false
- name: enable IPv4 forwarding
sysctl:
name: net.ipv4.ip_forward
value: '1'
sysctl_set: yes
state: present
reload: yes
- name: prepare network plugin
include_tasks: "net_{{ kubernetes_network_plugin }}.yml"
- name: install extra packages for kube-proxy ipvs mode
when:
- not kubernetes_network_plugin_replaces_kube_proxy
- kubernetes_kube_proxy_mode is defined
- kubernetes_kube_proxy_mode == 'ipvs'
apt:
name:
- ipvsadm
- ipset
state: present
|