Comments (8)
Hi @nicklausbrown,
I've just checked (and tested) and here the upgrade process using followed by this module :
- Downloads the latest installation script from Github
- Reruns the installation script with the new k3s release
- 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.
@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.
@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.
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.
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 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.
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.
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)
- Error: Invalid Attribute Value Match HOT 4
- Generated kubeconfig cannot be used (certificate signed by unknown authority) HOT 3
- Deprecated attribute with Terraform 1.3.7 HOT 1
- API URL broken in build script when using dual stack configs HOT 4
- hcloud-k3s doesnt work with v3.3.0 HOT 1
- Consider Integration Testing with k3d HOT 5
- cdktf compatibility HOT 2
- Error "Variable `name` is deprecated" HOT 1
- terraform destroy gets stuck while draining the last node HOT 3
- Taking a node out of the configuration keeps the node within the cluster but cordoned HOT 8
- 🚧 Refresh this repository
- Refresh kubeconfig when terraform state is lost HOT 3
- When generate_ca_certificates = false, module does not export any kubeconfig HOT 3
- Custom k3s cluster name inside of the admin kubeconfig HOT 2
- :bug: Cannot scale up server nodes HOT 3
- Support for K3S AirGap deployments HOT 2
- Servers must have an odd number of nodes HOT 1
- Cluster CA certificate is not trusted HOT 7
- Unable to use on Windows Terraform HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-module-k3s.