Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AKS: support setting cluster outbound IPs when using standard loadbalancer #4322

Closed
landro opened this issue Sep 13, 2019 · 4 comments · Fixed by #5394
Closed

AKS: support setting cluster outbound IPs when using standard loadbalancer #4322

landro opened this issue Sep 13, 2019 · 4 comments · Fixed by #5394

Comments

@landro
Copy link

landro commented Sep 13, 2019

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

In June, Azure added preview support for using Standard sku load balancers in AKS clusters. Support for configuring load balancer sku was added to this provider in 73f6b2b.

The feature is now in GA, and Azure has added the additional possibility of configuring what LoadBalancerProfile to use (what IPs or IP prefixes to use for outbound traffic) in the latest version of the containerservice API (github.com/Azure/azure-sdk-for-go/services/containerservice/mgmt/2019-08-01/containerservice).

Support for setting IPs or IP prefixes should therefor be added to this provider.

While at it, one should also add the possibility to just configure the number of managed outbound IPs the cluster should provision.

New or Affected Resource(s)

  • azurerm_kubernetes_cluster

Potential Terraform Configuration

resource "azurerm_kubernetes_cluster" "default" {
...
 network_profile {
    load_balancer_sku = "standard"
    # one of the following
    load-balancer-outbound-ips = [ip1, ip2] 
    load-balancer-outbound-ip-prefixes = [ippref1, ippref2]
    load-balancer-managed-outbound-ip-count = 4
  }
}

References

@evenh
Copy link
Contributor

evenh commented Sep 17, 2019

I’ve started work on this feature

@stromvirvel
Copy link

I'm struggeling with this topic aswell, but I'm not sure if this goes to the same issue. I'm fine with creating a random static IP address, but somehow I want to export that IP address. After switching the LB SKU from basic to standard, Azure created a static IP address and assigned it to the LB. But there seem no way to access that IP address.

See: https://www.terraform.io/docs/providers/azurerm/r/kubernetes_cluster.html#attributes-reference

@PirateBread
Copy link

Having some related issues here.

  1. Randomly assigned public IP is not ideal but it's OK as long as we can retrieve this somewhere BUT there are no attributes which reference this IP so we can't use it to build our NSG rules for example.

  2. We already have static public IPS which we attach to our ingresses, however this only applies to inbound traffic. It doesn't seem possible for example to set this as the default IP for outbound traffic?

Overall it's quite disappointing because this used to work, some time back before all the VMSS/ Standard SKU changes came through. Our Ingress IP was the only public IP our clusters had so it was quite easy to manage.

@ghost
Copy link

ghost commented Mar 28, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 hashibot-feedback@hashicorp.com. Thanks!

@ghost ghost locked and limited conversation to collaborators Mar 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.