From c201702b9a72e873660159ada04acf5032ccf44d Mon Sep 17 00:00:00 2001 From: kimiroo <43537287+kimiroo@users.noreply.github.com> Date: Sun, 4 Jan 2026 20:33:17 +0900 Subject: [PATCH] Added option to install MetalLB --- inventory/sample/group_vars/all.yml | 2 ++ roles/k3s_server/meta/main.yml | 5 +++++ roles/k3s_server/tasks/main.yml | 3 ++- roles/k3s_server_post/meta/main.yml | 5 +++++ roles/k3s_server_post/tasks/main.yml | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/inventory/sample/group_vars/all.yml b/inventory/sample/group_vars/all.yml index 9e19c5e..540ff96 100644 --- a/inventory/sample/group_vars/all.yml +++ b/inventory/sample/group_vars/all.yml @@ -93,6 +93,8 @@ kube_vip_tag_version: v1.0.0 # (uncomment to use kube-vip for services instead of MetalLB) # kube_vip_lb_ip_range: "192.168.30.80-192.168.30.90" +metal_lb_install: true + # metallb type frr or native metal_lb_type: native diff --git a/roles/k3s_server/meta/main.yml b/roles/k3s_server/meta/main.yml index 7d9fbfd..7869747 100644 --- a/roles/k3s_server/meta/main.yml +++ b/roles/k3s_server/meta/main.yml @@ -90,6 +90,11 @@ argument_specs: description: IP range for kube-vip load balancer default: ~ + metal_lb_install: + description: Install MetalLB + default: true + type: bool + metal_lb_controller_tag_version: description: Image tag for MetalLB default: v0.14.3 diff --git a/roles/k3s_server/tasks/main.yml b/roles/k3s_server/tasks/main.yml index 8ebaad7..0c1a3c3 100644 --- a/roles/k3s_server/tasks/main.yml +++ b/roles/k3s_server/tasks/main.yml @@ -24,10 +24,11 @@ - name: Deploy vip manifest ansible.builtin.include_tasks: vip.yml + - name: Deploy metallb manifest ansible.builtin.include_tasks: metallb.yml tags: metallb - when: kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface is not defined) + when: kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface is not defined) and metal_lb_install - name: Deploy kube-vip manifest ansible.builtin.include_tasks: kube-vip.yml diff --git a/roles/k3s_server_post/meta/main.yml b/roles/k3s_server_post/meta/main.yml index f9fc83d..b341940 100644 --- a/roles/k3s_server_post/meta/main.yml +++ b/roles/k3s_server_post/meta/main.yml @@ -121,6 +121,11 @@ argument_specs: description: IP range for kube-vip load balancer default: ~ + metal_lb_install: + description: Install MetalLB + default: true + type: bool + metal_lb_available_timeout: description: Wait for MetalLB resources default: 240s diff --git a/roles/k3s_server_post/tasks/main.yml b/roles/k3s_server_post/tasks/main.yml index 1a02d8d..fc513a8 100644 --- a/roles/k3s_server_post/tasks/main.yml +++ b/roles/k3s_server_post/tasks/main.yml @@ -12,7 +12,7 @@ - name: Deploy metallb pool ansible.builtin.include_tasks: metallb.yml tags: metallb - when: kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface is not defined) + when: kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface is not defined) and metal_lb_install - name: Remove tmp directory used for manifests ansible.builtin.file: