-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup_k8s_env.yml
80 lines (80 loc) · 2.46 KB
/
setup_k8s_env.yml
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
- name: Setup kubernetes environment
hosts: all
become: yes
tasks:
- name: Copy kernel module for containerd
copy:
src: ./files/containerd.conf
dest: /etc/modules-load.d/containerd.conf/
backup: true
- name: Apply overlay and br_netfilter module
modprobe:
name: "{{ item }}"
state: present
loop: [overlay, br_netfilter]
- name: Set kernel params
copy:
src: ./files/99-kubernetes-cri.conf
dest: /etc/sysctl.d
backup: true
- name: Apply kernel params
command: sysctl --system
- name: Install dependencies (1)
apt:
name: ["ca-certificates", "curl", "gnupg", "lsb-release"]
update_cache: yes
- name: Create keyrings directory
file:
state: directory
path: /etc/apt/keyrings
mode: 0755
- name: Save docker keyring
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
keyring: /etc/apt/keyrings/docker.gpg
- name: Set dpkg arch
set_fact:
dpkg_arch: "{{ 'amd64' if ansible_architecture == 'x86_64' else ansible_architecture }}"
- name: Add docker to apt-repository
apt_repository:
repo: "deb [arch={{ dpkg_arch }} signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
- name: Install dependencies (2)
apt:
name: containerd.io
update_cache: yes
- name: Create containerd directory
file:
state: directory
path: /etc/containerd
- name: Copy containerd config
copy:
src: ./files/containerd_config.toml
dest: /etc/containerd/config.toml
backup: true
- name: Restart containerd
systemd_service:
name: containerd
state: restarted
- name: Copy sysctl k8s conf
copy:
src: ./files/sysctl_k8s.conf
dest: /etc/sysctl.d/k8s.conf
backup: true
- name: Apply k8s sysctl
command: sysctl --system
- name: Add k8s apt keyring
apt_key:
url: https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key
keyring: /etc/apt/keyrings/kubernetes-apt-keyring.gpg
- name: Add k8s to apt repository
apt_repository:
repo: "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /"
- name: Install dependencies (3)
apt:
name: ["kubelet", "kubeadm", "kubectl"]
update_cache: yes
- name: Hold k8s
dpkg_selections:
name: "{{ item }}"
selection: hold
loop: ["kubelet", "kubeadm", "kubectl"]