Skip to content

Commit

Permalink
mend contract
Browse files Browse the repository at this point in the history
  • Loading branch information
gereonvey committed Jan 28, 2024
1 parent 278d9fe commit 0c266f0
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 27 deletions.
7 changes: 5 additions & 2 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,14 @@ extra_agent_args: ""

kube_vip_tag_version: ""

service_lb_type: ""
kube_vip_cloud_provider_tag_version: ""
kube_vip_lb_ip_range: ""

metal_lb_speaker_tag_version: ""
metal_lb_controller_tag_version: ""

service_lb_type: ""
service_lb_ip_range: ""
metal_lb_ip_range: ""
```

### Hosts
Expand Down
12 changes: 8 additions & 4 deletions inventory/sample/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,15 @@ extra_agent_args: >-
# image tag for kube-vip
kube_vip_tag_version: "v0.6.4"

# loadbalancer to use for services: "kube-vip" or "metallb"
service_lb_type: "metallb"

# tag for kube-vip-cloud-provider manifest
kube_vip_cloud_provider_tag_version: "main"

# kube-vip ip range for load balancer
kube_vip_lb_ip_range: "192.168.30.80-192.168.30.90"

# metallb type frr or native
metal_lb_type: "native"

Expand All @@ -74,10 +80,8 @@ metal_lb_mode: "layer2"
metal_lb_speaker_tag_version: "v0.13.12"
metal_lb_controller_tag_version: "v0.13.12"

# loadbalancer to use for services: "kube-vip" or "metallb"
service_lb_type: "metallb"
# ip range for service load balancer
service_lb_ip_range: "192.168.30.80-192.168.30.90"
# metallb ip range for load balancer
metal_lb_ip_range: "192.168.30.80-192.168.30.90"

# Only enable if your nodes are proxmox LXC nodes, make sure to configure your proxmox nodes
# in your hosts.ini file.
Expand Down
2 changes: 1 addition & 1 deletion molecule/ipv6/overrides.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
apiserver_endpoint: fdad:bad:ba55::333

# We give MetalLB address space for both IPv4 and IPv6
service_lb_ip_range:
metal_lb_ip_range:
- fdad:bad:ba55::1b:0/112
- 192.168.123.80-192.168.123.90

Expand Down
2 changes: 1 addition & 1 deletion molecule/single_node/overrides.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@

# Make sure that our IP ranges do not collide with those of the default scenario
apiserver_endpoint: "192.168.30.223"
service_lb_ip_range: "192.168.30.91-192.168.30.99"
metal_lb_ip_range: "192.168.30.91-192.168.30.99"
13 changes: 9 additions & 4 deletions roles/k3s_server/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,15 @@
- name: Deploy vip manifest
include_tasks: vip.yml

- name: Deploy manifest for {{ service_lb_type }}
include_tasks: "{{ service_lb_type }}.yml"
tags:
- service_lb
- name: Deploy metallb manifest
include_tasks: metallb.yml
tags: metallb
when: service_lb_type | default('metallb') == 'metallb'

- name: Deploy kube-vip manifest
include_tasks: kube-vip.yml
tags: kubevip
when: service_lb_type | default('metallb') == 'kube-vip'

- name: Init cluster inside the transient k3s-init service
command:
Expand Down
6 changes: 3 additions & 3 deletions roles/k3s_server/templates/kubevip.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ metadata:
name: kubevip
namespace: kube-system
data:
{% if service_lb_ip_range is string %}
{# service_lb_ip_range was used in the legacy way: single string instead of a list #}
{% if kube_vip_lb_ip_range is string %}
{# kube_vip_lb_ip_range was used in the legacy way: single string instead of a list #}
{# => transform to list with single element #}
{% set service_lb_ip_range = [service_lb_ip_range] %}
{% set kube_vip_lb_ip_range = [kube_vip_lb_ip_range] %}
{% endif %}
{% for range in service_lb_ip_range %}
range-global: {{ range }}
Expand Down
10 changes: 7 additions & 3 deletions roles/k3s_server_post/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

- name: Deploy metallb pool
include_tasks: metallb.yml
tags:
- service_lb
when: service_lb_type == "metallb"
tags: metallb
when: service_lb_type | default('metallb') == 'metallb'

- name: Remove tmp directory used for manifests
file:
path: /tmp/k3s
state: absent
5 changes: 0 additions & 5 deletions roles/k3s_server_post/tasks/metallb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,3 @@
- IPAddressPool
- BGPPeer
- BGPAdvertisement

- name: Remove tmp directory used for manifests
file:
path: /tmp/k3s
state: absent
8 changes: 4 additions & 4 deletions roles/k3s_server_post/templates/metallb.crs.j2
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ metadata:
namespace: metallb-system
spec:
addresses:
{% if service_lb_ip_range is string %}
{# service_lb_ip_range was used in the legacy way: single string instead of a list #}
{% if metal_lb_ip_range is string %}
{# metal_lb_ip_range was used in the legacy way: single string instead of a list #}
{# => transform to list with single element #}
{% set service_lb_ip_range = [service_lb_ip_range] %}
{% set metal_lb_ip_range = [metal_lb_ip_range] %}
{% endif %}
{% for range in service_lb_ip_range %}
{% for range in metal_lb_ip_range %}
- {{ range }}
{% endfor %}

Expand Down

0 comments on commit 0c266f0

Please sign in to comment.