-
Notifications
You must be signed in to change notification settings - Fork 65
/
install.yml
85 lines (75 loc) · 1.96 KB
/
install.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
81
82
83
84
85
- name: Make sure snapd is installed
apt:
name:
- snapd
state: present
become: yes
when: ansible_distribution == 'Ubuntu'
- name: Make sure snapd is installed
pacman:
name:
- snapd
state: present
become: yes
when: ansible_distribution == 'Archlinux'
- name: Install microk8s
become: yes
snap:
name: microk8s
classic: yes
channel: "{{ microk8s_version }}"
- name: Wait for microk8s to be ready
become: yes
command: microk8s.status --wait-ready
changed_when: false
register: mk8sstatusout
- name: Create kubectl alias
become: yes
command: "snap alias microk8s.kubectl kubectl"
changed_when: false
register: aliaskubectlout
- name: Create helm3 alias
become: yes
command: "snap alias microk8s.helm3 helm"
changed_when: false
register: aliashelmout
when:
- "'helm3' in microk8s_plugins"
- microk8s_plugins.helm3
- name: Create custom certificates
become: yes
ansible.builtin.template:
src: "{{ microk8s_csr_template }}"
dest: /var/snap/microk8s/current/certs/csr.conf.template
mode: 0644
when: microk8s_csr_template is defined and microk8s_csr_template is file
notify:
- Refresh certs
- name: Create folder for microk8s certificates
become: yes
file:
path: /usr/share/ca-certificates/extra
state: directory
mode: 0755
- name: Copy certificates
become: yes
copy:
src: "{{ item }}"
dest: /usr/share/ca-certificates/extra
remote_src: yes
force: yes
mode: 0644
with_fileglob:
- /var/snap/microk8s/current/certs/*ca*.crt
- name: Trust certificates generated by microk8s
become: yes
command: "update-ca-certificates"
register: command_result
changed_when: "'0 added, 0 removed' not in command_result.stdout"
- name: Disable snap autoupdate
blockinfile:
dest: /etc/hosts
marker: "# {mark} ANSIBLE MANAGED: microk8s Disable snap autoupdate"
content: |
127.0.0.1 api.snapcraft.io
when: microk8s_disable_snap_autoupdate