forked from easzlab/kubeasz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
21.addmaster.yml
57 lines (52 loc) · 1.63 KB
/
21.addmaster.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
# reconfigure and restart the haproxy service
- hosts: lb
roles:
- lb
- hosts: new-master
roles:
- { role: chrony, when: "hostvars[groups.deploy[0]]['NTP_ENABLED'] == 'yes'" }
- prepare
- docker
- kube-master
- kube-node
#
- { role: calico, when: "CLUSTER_NETWORK == 'calico'" }
- { role: cilium, when: "CLUSTER_NETWORK == 'cilium'" }
- { role: flannel, when: "CLUSTER_NETWORK == 'flannel'" }
- { role: kube-router, when: "CLUSTER_NETWORK == 'kube-router'" }
#
tasks:
- name: Making master nodes SchedulingDisabled
shell: "{{ bin_dir }}/kubectl cordon {{ inventory_hostname }} "
delegate_to: "{{ groups.deploy[0] }}"
when: DEPLOY_MODE != "allinone"
ignore_errors: true
- name: Setting master role name
shell: "{{ bin_dir }}/kubectl label node {{ inventory_hostname }} kubernetes.io/role=master --overwrite"
ignore_errors: true
delegate_to: "{{ groups.deploy[0] }}"
# modify the ansible hosts file
- hosts:
- new-master
tasks:
- name: tag new-master FINISHED=yes
shell: 'sed -i "/\[new-master/,/\[kube-node/s/{{ inventory_hostname }}/{{ inventory_hostname }} FINISHED=yes/" {{ base_dir }}/hosts'
args:
warn: false
connection: local
- name: cp new-master to 'kube-master' group
lineinfile:
dest: "{{ base_dir }}/hosts"
state: present
insertafter: '^\[kube-master'
firstmatch: yes
line: "{{ inventory_hostname }} NEW_MASTER=yes"
connection: local
- hosts: deploy
tasks:
- name: rm new-master in ansible hosts
lineinfile:
dest: "{{ base_dir }}/hosts"
state: absent
regexp: 'FINISHED=yes'
connection: local