Giter Club home page Giter Club logo

Comments (8)

xunleii avatar xunleii commented on May 28, 2024 2

Hi @nicklausbrown,

I've just checked (and tested) and here the upgrade process using followed by this module :

  1. Downloads the latest installation script from Github
  2. Reruns the installation script with the new k3s release
  3. Waits until the node is ready

I therefore confirm that this module follows the official upgrade procedure by using the official installation script.

However, a word about the upgrade procedure wouldn't go amiss, thanks for bringing it up.

EDIT: replace using by followed by in order to avoid any misunderstanding

from terraform-module-k3s.

laurentiusoica avatar laurentiusoica commented on May 28, 2024 1

@xunleii During the upgrade process, I noticed that all the nodes get upgraded simultaneously. This leads to a situation where all the master nodes are unavailable for a certain duration. Is there an option to perform the upgrades one after another instead?

from terraform-module-k3s.

laurentiusoica avatar laurentiusoica commented on May 28, 2024 1

@xunleii What are your thoughts on introducing a feature flag for sequential execution that would, when enabled, enforce a sequential creation of servers and agents by adding a depends_on attribute to the preceding resource when the index is greater than 0? When this flag is disabled, which would be the default setting, the current behavior would be maintained.

from terraform-module-k3s.

xunleii avatar xunleii commented on May 28, 2024

Yep, thank you for that. Indeed, there is no mechanism to have a non-parallel update. I did it because there is little downtime (in most cases) and I didn't want to make this module too complicated.

However, if it's something really blocking, I can make the first server serve as a dependency for the others. With this, there will always be at least one server available to communicate with, but I'll also have to find out if there's a risk of split brain N-1 servers updating at the same time.

from terraform-module-k3s.

laurentiusoica avatar laurentiusoica commented on May 28, 2024

Not exactly a blocker but it breaks the HA guarantees in case of an HA setup. An option to have an one node at a time upgrade would be great.

from terraform-module-k3s.

xunleii avatar xunleii commented on May 28, 2024

@xunleii What are your thoughts on introducing a feature flag for sequential execution that would, when enabled, enforce a sequential creation of servers and agents by adding a depends_on attribute to the preceding resource when the index is greater than 0? When this flag is disabled, which would be the default setting, the current behavior would be maintained.

I agree with you, it can be very useful.
Unfortunately, I don't see how to implement it on Terraform; because it's a module and not a provider, I'm very limited on what I can do. For example here, node resources are created by a loop and all are made in parallel. I don't see how I can make it sequential instead 😞

from terraform-module-k3s.

github-actions avatar github-actions commented on May 28, 2024

This issue has been automatically marked as stale because it has not had recent activity. If the issue still persists, please leave a comment and it will be reopened.

from terraform-module-k3s.

github-actions avatar github-actions commented on May 28, 2024

This issue has been automatically marked as stale because it has not had recent activity. If the issue still persists, please leave a comment and it will be reopened.

from terraform-module-k3s.

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.