Skip to content

Commit af001dd

Browse files
authored
Merge branch 'main' into fix/fix-partition-rke2
2 parents 284da50 + e32888f commit af001dd

File tree

11 files changed

+211
-69
lines changed

11 files changed

+211
-69
lines changed

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ This is a copy of `defaults/main.yml`
3838
```yaml
3939
---
4040
# The node type - server or agent
41-
rke2_type: server
41+
rke2_type: "{{ 'server' if inventory_hostname in groups[rke2_servers_group_name] else 'agent' if inventory_hostname in groups[rke2_agents_group_name] }}"
4242

4343
# Deploy the control plane in HA mode
4444
rke2_ha_mode: false
@@ -244,10 +244,11 @@ rke2_etcd_snapshot_destination_dir: "{{ rke2_data_path }}/server/db/snapshots"
244244
# region: "" # optional - defaults to us-east-1
245245
# folder: "" # optional - defaults to top level of bucket
246246
# Override default containerd snapshotter
247-
rke2_snapshooter: overlayfs
247+
rke2_snapshotter: "{{ rke2_snapshooter }}"
248+
rke2_snapshooter: overlayfs # legacy variable that only exists to keep backward compatibility with previous configurations
248249

249-
# Deploy RKE2 with default CNI canal
250-
rke2_cni: canal
250+
# Deploy RKE2 with default CNI canal (should be a list)
251+
rke2_cni: [canal]
251252

252253
# Validate system configuration against the selected benchmark
253254
# (Supported value is "cis-1.23" or eventually "cis-1.6" if you are running RKE2 prior 1.25)
@@ -352,14 +353,14 @@ The RKE2 Kubernetes master/server nodes must belong to `masters` group and worke
352353

353354
```ini
354355
[masters]
355-
master-01 ansible_host=192.168.123.1 rke2_type=server
356-
master-02 ansible_host=192.168.123.2 rke2_type=server
357-
master-03 ansible_host=192.168.123.3 rke2_type=server
356+
master-01 ansible_host=192.168.123.1
357+
master-02 ansible_host=192.168.123.2
358+
master-03 ansible_host=192.168.123.3
358359
359360
[workers]
360-
worker-01 ansible_host=192.168.123.11 rke2_type=agent
361-
worker-02 ansible_host=192.168.123.12 rke2_type=agent
362-
worker-03 ansible_host=192.168.123.13 rke2_type=agent
361+
worker-01 ansible_host=192.168.123.11
362+
worker-02 ansible_host=192.168.123.12
363+
worker-03 ansible_host=192.168.123.13
363364
364365
[k8s_cluster:children]
365366
masters

defaults/main.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
# The node type - server or agent
3-
rke2_type: server
3+
rke2_type: "{{ 'server' if inventory_hostname in groups[rke2_servers_group_name] else 'agent' if inventory_hostname in groups[rke2_agents_group_name] }}"
44

55
# Deploy the control plane in HA mode
66
rke2_ha_mode: false
@@ -206,7 +206,8 @@ rke2_etcd_snapshot_destination_dir: "{{ rke2_data_path }}/server/db/snapshots"
206206
# region: "" # optional - defaults to us-east-1
207207
# folder: "" # optional - defaults to top level of bucket
208208
# Override default containerd snapshotter
209-
rke2_snapshooter: overlayfs
209+
rke2_snapshotter: "{{ rke2_snapshooter }}"
210+
rke2_snapshooter: overlayfs # legacy variable that only exists to keep backward compatibility with previous configurations
210211

211212
# Deploy RKE2 with default CNI canal
212213
rke2_cni: canal

molecule/cluster/converge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
become: yes
55
vars:
66
rke2_version: v1.22.12+rke2r1
7-
rke2_snapshooter: native
7+
rke2_snapshotter: native
88
rke2_server_node_taints:
99
- 'CriticalAddonsOnly=true:NoExecute'
1010
roles:

molecule/default/converge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
become: yes
55
vars:
66
rke2_version: v1.27.1+rke2r1
7-
rke2_snapshooter: native
7+
rke2_snapshotter: native
88
roles:
99
- role: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"

molecule/ha_cluster/converge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
rke2_version: v1.22.12+rke2r1
77
rke2_ha_mode: true
88
rke2_api_ip: 192.168.123.100
9-
rke2_snapshooter: native
9+
rke2_snapshotter: native
1010
rke2_server_node_taints:
1111
- 'CriticalAddonsOnly=true:NoExecute'
1212
roles:

molecule/ha_cluster_kubevip/converge.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
become: yes
55
vars:
66
rke2_server_taint: true
7-
rke2_cni: calico
7+
rke2_cni: [calico]
88
rke2_api_ip: 192.168.123.100
99
rke2_version: v1.22.12+rke2r1
1010
rke2_cis_profile: cis-1.23
11-
rke2_snapshooter: native
11+
rke2_snapshotter: native
1212
rke2_ha_mode_keepalived: false
1313
rke2_ha_mode: true
1414
rke2_ha_mode_kubevip: true

tasks/first_server.yml

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@
4040
- name: Register if we need to do a etcd restore from s3
4141
ansible.builtin.set_fact:
4242
do_etcd_restore_from_s3: true
43-
when: not rke2_etcd_snapshot_file and rke2_etcd_snapshot_s3_options is defined and rke2_etcd_snapshot_s3_options.access_key and rke2_etcd_snapshot_s3_options.secret_key and rke2_etcd_snapshot_s3_options.bucket and rke2_etcd_snapshot_s3_options.snapshot_name
43+
when:
44+
- not rke2_etcd_snapshot_file
45+
- rke2_etcd_snapshot_s3_options is defined
46+
- rke2_etcd_snapshot_s3_options.access_key
47+
- rke2_etcd_snapshot_s3_options.secret_key
48+
- rke2_etcd_snapshot_s3_options.bucket
49+
- rke2_etcd_snapshot_s3_options.snapshot_name
4450

4551
- name: Restore etcd from file
4652
when: do_etcd_restore is defined
@@ -138,15 +144,41 @@
138144
- not ansible_check_mode
139145
- rke2_cni != 'none'
140146

141-
- name: Restore etcd - remove old <node>.node-password.rke2 secrets
142-
ansible.builtin.shell: |
143-
{{ rke2_data_path }}/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml \
144-
delete secret {{ item }}.node-password.rke2 -n kube-system 2>&1 || true
145-
args:
146-
executable: /bin/bash
147-
with_items: "{{ groups[rke2_cluster_group_name] }}"
148-
changed_when: false
149-
when: not ansible_check_mode and inventory_hostname != item and (do_etcd_restore is defined or do_etcd_restore_from_s3 is defined)
147+
- name: Restore etcd
148+
when: do_etcd_restore is defined or do_etcd_restore_from_s3 is defined
149+
block:
150+
- name: Get registered nodes
151+
ansible.builtin.shell: |
152+
{{ rke2_data_path }}/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml \
153+
get nodes --no-headers | awk '{print $1}'
154+
args:
155+
executable: /bin/bash
156+
changed_when: false
157+
register: registered_node_names
158+
159+
- name: Get all node names
160+
ansible.builtin.set_fact:
161+
node_names: "{{ hostvars | dict2items | map(attribute='value.rke2_node_name') }}"
162+
run_once: true
163+
register: node_names
164+
165+
- name: remove old <node>.node-password.rke2 secrets
166+
ansible.builtin.shell: |
167+
{{ rke2_data_path }}/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml \
168+
delete secret {{ item }}.node-password.rke2 -n kube-system 2>&1 || true
169+
args:
170+
executable: /bin/bash
171+
with_items: "{{ registered_node_names.stdout_lines | difference(node_names) }}"
172+
changed_when: false
173+
174+
- name: remove old nodes
175+
ansible.builtin.shell: |
176+
{{ rke2_data_path }}/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml \
177+
delete node {{ item }} 2>&1 || true
178+
args:
179+
executable: /bin/bash
180+
with_items: "{{ registered_node_names.stdout_lines | difference(node_names) }}"
181+
changed_when: false
150182

151183
- name: Set an Active Server variable
152184
ansible.builtin.set_fact:

0 commit comments

Comments
 (0)