diff --git a/Ansible/Playbooks/RKE2/roles/apply-manifests/tasks/main.yaml b/Ansible/Playbooks/RKE2/roles/apply-manifests/tasks/main.yaml index bf5ea47..4a3bd28 100644 --- a/Ansible/Playbooks/RKE2/roles/apply-manifests/tasks/main.yaml +++ b/Ansible/Playbooks/RKE2/roles/apply-manifests/tasks/main.yaml @@ -6,6 +6,7 @@ retries: 120 delay: 10 changed_when: true + become: true become_user: "{{ ansible_user }}" when: inventory_hostname == groups['servers'][0] @@ -13,6 +14,7 @@ - name: Apply metallb namespace ansible.builtin.command: cmd: kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/namespace.yaml + become: true become_user: "{{ ansible_user }}" changed_when: true when: inventory_hostname == groups['servers'][0] @@ -21,6 +23,7 @@ - name: Apply metallb manifest ansible.builtin.command: cmd: kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/{{ metallb_version }}/config/manifests/metallb-native.yaml + become: true become_user: "{{ ansible_user }}" changed_when: true when: inventory_hostname == groups['servers'][0] @@ -30,13 +33,25 @@ ansible.builtin.command: cmd: "kubectl wait --namespace metallb-system --for=condition=ready pod --selector=component=controller --timeout=1800s" changed_when: true + become: true become_user: "{{ ansible_user }}" when: inventory_hostname == groups['servers'][0] +# Deploy L2 Advertisement to Server 1 (templated so it matches lb_pool_name) +- name: Copy metallb L2 Advertisement to server 1 + ansible.builtin.template: + src: templates/metallb-l2advertisement.j2 + dest: /home/{{ ansible_user }}/l2advertisement.yaml + owner: "{{ ansible_user }}" + group: "{{ ansible_user }}" + mode: '0755' + when: inventory_hostname == groups['servers'][0] + # Apply L2 Advertisement for metallb - name: Apply metallb L2 Advertisement ansible.builtin.command: - cmd: kubectl apply -f https://raw.githubusercontent.com/JamesTurland/JimsGarage/main/Kubernetes/RKE2/l2Advertisement.yaml + cmd: kubectl apply -f /home/{{ ansible_user }}/l2advertisement.yaml + become: true become_user: "{{ ansible_user }}" changed_when: true when: inventory_hostname == groups['servers'][0] @@ -55,6 +70,7 @@ - name: Apply metallb ipppool ansible.builtin.command: cmd: kubectl apply -f /home/{{ ansible_user }}/ippool.yaml + become: true become_user: "{{ ansible_user }}" changed_when: true when: inventory_hostname == groups['servers'][0] diff --git a/Ansible/Playbooks/RKE2/roles/apply-manifests/templates/metallb-l2advertisement.j2 b/Ansible/Playbooks/RKE2/roles/apply-manifests/templates/metallb-l2advertisement.j2 new file mode 100644 index 0000000..25458f0 --- /dev/null +++ b/Ansible/Playbooks/RKE2/roles/apply-manifests/templates/metallb-l2advertisement.j2 @@ -0,0 +1,8 @@ +apiVersion: metallb.io/v1beta1 +kind: L2Advertisement +metadata: + name: example + namespace: metallb-system +spec: + ipAddressPools: + - {{ lb_pool_name }}