diff --git a/contrib/metallb/README.md b/contrib/metallb/README.md index 412863340fbe0037121e5a128c5ba761d44c2892..e3b19ac82246aaffae78b9a7af8d9086f6b90d67 100644 --- a/contrib/metallb/README.md +++ b/contrib/metallb/README.md @@ -6,5 +6,7 @@ This playbook aims to automate [this](https://metallb.universe.tf/tutorial/layer ## Install ``` +Defaults can be found in contrib/metallb/roles/provision/defaults/main.yml. You can override the defaults by copying the contents of this file to somewhere in inventory/mycluster/group_vars such as inventory/mycluster/groups_vars/k8s-cluster/addons.yml and making any adjustments as required. + ansible-playbook --ask-become -i inventory/sample/hosts.ini contrib/metallb/metallb.yml ``` diff --git a/contrib/metallb/roles/provision/defaults/main.yml b/contrib/metallb/roles/provision/defaults/main.yml index a45858d197f3171c76541c4fea8a46acb8bdcafc..4a7c7c4716ed1f06ec013e2018e363da2d60457d 100644 --- a/contrib/metallb/roles/provision/defaults/main.yml +++ b/contrib/metallb/roles/provision/defaults/main.yml @@ -1,6 +1,12 @@ --- metallb: ip_range: "10.5.0.50-10.5.0.99" + protocol: "layer2" + # additional_address_pools: + # kube_service_pool: + # ip_range: "10.5.1.50-10.5.1.99" + # protocol: "layer2" + # auto_assign: false limits: cpu: "100m" memory: "100Mi" diff --git a/contrib/metallb/roles/provision/templates/metallb-config.yml.j2 b/contrib/metallb/roles/provision/templates/metallb-config.yml.j2 index 2e58f2d5f154619d1b9cefe6b11aa643c240b179..6f2f873397ea6f7b23b5a67be5987fa709073510 100644 --- a/contrib/metallb/roles/provision/templates/metallb-config.yml.j2 +++ b/contrib/metallb/roles/provision/templates/metallb-config.yml.j2 @@ -8,6 +8,14 @@ data: config: | address-pools: - name: loadbalanced - protocol: layer2 + protocol: {{ metallb.protocol }} addresses: - {{ metallb.ip_range }} +{% if metallb.additional_address_pools is defined %}{% for pool in metallb.additional_address_pools %} + - name: {{ pool }} + protocol: {{ metallb.additional_address_pools[pool].protocol }} + addresses: + - {{ metallb.additional_address_pools[pool].ip_range }} + auto-assign: {{ metallb.additional_address_pools[pool].auto_assign }} +{% endfor %} +{% endif %}