Skip to content
Snippets Groups Projects
Unverified Commit 3ac92689 authored by Cristian Klein's avatar Cristian Klein Committed by GitHub
Browse files

exoscale: Rework EIP access from workers (#7337)

Context: Load-balancing in Exoscale is performed by associating many
workers with the same EIP. This works, however, the workers cannot access
themselves via the EIP, which is needed at least for cert-managers
"self-test".

Problem: The old iptables based workaround felt fragile and disappointed
me at least once.

New solution: Add the EIP to a loopback interface on each worker.
parent 1c083694
No related branches found
No related tags found
No related merge requests found
...@@ -26,16 +26,25 @@ write_files: ...@@ -26,16 +26,25 @@ write_files:
ethernets: ethernets:
eth1: eth1:
dhcp4: true dhcp4: true
runcmd:
- netplan apply
- /sbin/sysctl net.ipv4.conf.all.forwarding=1
%{ if node_type == "worker" } %{ if node_type == "worker" }
# TODO: When a VM is seen as healthy and is added to the EIP loadbalancer # TODO: When a VM is seen as healthy and is added to the EIP loadbalancer
# pool it no longer can send traffic back to itself via the EIP IP # pool it no longer can send traffic back to itself via the EIP IP
# address. # address.
# Remove this if it ever gets solved. # Remove this if it ever gets solved.
- iptables -t nat -A PREROUTING -d ${eip_ip_address} -j DNAT --to 127.0.0.1 - path: /etc/netplan/20-eip-fix.yaml
content: |
network:
version: 2
ethernets:
"lo:0":
match:
name: lo
dhcp4: false
addresses:
- ${eip_ip_address}/32
%{ endif } %{ endif }
runcmd:
- netplan apply
%{ if node_local_partition_size > 0 } %{ if node_local_partition_size > 0 }
- mkdir -p /mnt/disks/node-local-storage - mkdir -p /mnt/disks/node-local-storage
- chown nobody:nogroup /mnt/disks/node-local-storage - chown nobody:nogroup /mnt/disks/node-local-storage
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment