52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
- name: MetalLB | Copy manifest files to host
|
|
ansible.builtin.get_url:
|
|
url: "https://raw.githubusercontent.com/metallb/metallb/v{{ microk8s_metallb_version }}/config/manifests/metallb-native.yaml"
|
|
dest: "{{ k8s_etc }}/metallb.yaml"
|
|
mode: "0600"
|
|
|
|
- name: MetalLB | Apply manifests
|
|
environment:
|
|
PATH: "{{ k8s_venv }}/bin:{{ ansible_env.PATH }}"
|
|
vars:
|
|
ansible_python_interpreter: "{{ k8s_venv }}/bin/python"
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
kubeconfig: "{{ k8s_kubeconfig }}"
|
|
src: "{{ k8s_etc }}/metallb.yaml"
|
|
wait: true
|
|
|
|
- name: MetalLB | Create IPAddressPool
|
|
environment:
|
|
PATH: "{{ k8s_venv }}/bin:{{ ansible_env.PATH }}"
|
|
vars:
|
|
ansible_python_interpreter: "{{ k8s_venv }}/bin/python"
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
kubeconfig: "{{ k8s_kubeconfig }}"
|
|
wait: true
|
|
definition:
|
|
apiVersion: metallb.io/v1beta1
|
|
kind: IPAddressPool
|
|
metadata:
|
|
name: metallb-system
|
|
namespace: metallb-system
|
|
spec:
|
|
addresses:
|
|
- "{{ microk8s_lb_ips }}"
|
|
|
|
- name: MetalLB | Create L2Advertisement
|
|
environment:
|
|
PATH: "{{ k8s_venv }}/bin:{{ ansible_env.PATH }}"
|
|
vars:
|
|
ansible_python_interpreter: "{{ k8s_venv }}/bin/python"
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
kubeconfig: "{{ k8s_kubeconfig }}"
|
|
wait: true
|
|
definition:
|
|
apiVersion: metallb.io/v1beta1
|
|
kind: L2Advertisement
|
|
metadata:
|
|
name: example
|
|
namespace: metallb-system
|