diff --git a/CHANGES.md b/CHANGES.md index 0658ba99..255f91b9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -12,6 +12,8 @@ Notable changes between versions. * Rename Container Linux `clc_snippets` (bare-metal) to `snippets` for consistency * Fix bootstrap when `networking` mode `flannel` (non-default) is chosen ([#689](https://github.com/poseidon/typhoon/pull/689)) * Regressed in v1.18.0 changes for Calico ([#675](https://github.com/poseidon/typhoon/pull/675)) +* Fix Azure worker UDP outbound connections ([#691](https://github.com/poseidon/typhoon/pull/691)) + * Fix Azure worker clock sync timeouts ## v1.18.0 diff --git a/azure/container-linux/kubernetes/lb.tf b/azure/container-linux/kubernetes/lb.tf index 6de81b22..ef924759 100644 --- a/azure/container-linux/kubernetes/lb.tf +++ b/azure/container-linux/kubernetes/lb.tf @@ -72,6 +72,7 @@ resource "azurerm_lb_rule" "ingress-http" { name = "ingress-http" loadbalancer_id = azurerm_lb.cluster.id frontend_ip_configuration_name = "ingress" + disable_outbound_snat = true protocol = "Tcp" frontend_port = 80 @@ -86,6 +87,7 @@ resource "azurerm_lb_rule" "ingress-https" { name = "ingress-https" loadbalancer_id = azurerm_lb.cluster.id frontend_ip_configuration_name = "ingress" + disable_outbound_snat = true protocol = "Tcp" frontend_port = 443 @@ -94,6 +96,20 @@ resource "azurerm_lb_rule" "ingress-https" { probe_id = azurerm_lb_probe.ingress.id } +# Worker outbound TCP/UDP SNAT +resource "azurerm_lb_outbound_rule" "worker-outbound" { + resource_group_name = azurerm_resource_group.cluster.name + + name = "worker" + loadbalancer_id = azurerm_lb.cluster.id + frontend_ip_configuration { + name = "ingress" + } + + protocol = "All" + backend_address_pool_id = azurerm_lb_backend_address_pool.worker.id +} + # Address pool of controllers resource "azurerm_lb_backend_address_pool" "controller" { resource_group_name = azurerm_resource_group.cluster.name