Giter VIP home page Giter VIP logo

Comments (4)

CecileRobertMichon avatar CecileRobertMichon commented on September 27, 2024

/assign

from cluster-api-provider-azure.

CecileRobertMichon avatar CecileRobertMichon commented on September 27, 2024

@dkoshkin I have two proposals for you:

  1. We change the defaulting to not update existing subnets: eac62d2
    This is a bit of a hack because it relies on the ID field to determine that the defaulting is happening on an existing subnet vs a new subnet. Ideally, NAT Gateway would be a pointer so we could differentiate between disable NAT Gateway and new cluster, and we could have simply switch the default from empty string to default name, but that is not the case :(

  2. We update existing subnets to "attach" the new NAT Gateway: b18f008

I'm leaning towards 2) because it's a better long-term solution. I agree with you that ideally we shouldn't touch existing cluster infra on upgrade. However, NAT Gateways are the recommended approach for outbound connectivity on Azure and we should provide a path forward for existing clusters. 1) is a hack and may work for now but we've talked about getting rid of ID altogether because it's an anti-pattern (we're setting the spec from the controller, there's a comment here about it).

Thoughts? I still need to run some tests to validate that these approaches work and write unit tests but wanted to get your input on these options.

from cluster-api-provider-azure.

dkoshkin avatar dkoshkin commented on September 27, 2024

Thanks for the suggestions @CecileRobertMichon!

What do you think about a combination of both of these approaches? Use 1 to fix this issue without making an infra change and then use 2 and allow users to opt in to this change by changing the spec (is this even possible?)

from cluster-api-provider-azure.

CecileRobertMichon avatar CecileRobertMichon commented on September 27, 2024

@dkoshkin done, PTAL: #3700

from cluster-api-provider-azure.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.