Comments (5)
@jr-dimedis Are you using MicroOS nodes outside of this project? If so, yes they do behave differently. However we configure the nodes to work with the kured reboot method.
I will have a look again at your issue, but it would surprise me if there's really a problem there. Please do make sure to upgrade the project to the latest version of kube-hetzner.
from terraform-hcloud-kube-hetzner.
If you cat /etc/transactional-update.conf
it should see REBOOT_METHOD=kured
, this is what ensures that the file created is reboot-required and not reboot-needed.
from terraform-hcloud-kube-hetzner.
Thanks for your reply.
I created all nodes using kube-hetzner. The original nodes were created with an image from May 22, 2023, later some were created with an image from November 23, 2023. I started with kube-hetzner v2.1.6, then upgraded to v2.7.2 and later to v2.11.7.
Yes, the /etc/transactional-update.conf
file contains REBOOT_METHOD=kured
, but it looks that this config isn't used when you just execute transactional-update
in the shell. The service file adds this config file using environment variables, that's why it should be triggered via the systemd service. I checked this with and without using systemctl and I was able to clearly reproduce the behavior in this way.
# That's the systemd service of a node updated Feb 03
$ cat /usr/lib/systemd/system/transactional-update.service
[Unit]
Description=Update the system
Documentation=man:transactional-update(8)
ConditionACPower=true
Wants=network.target
After=network.target
[Service]
Type=oneshot
Environment=UPDATE_METHOD=dup
EnvironmentFile=-/usr/etc/transactional-update.conf
EnvironmentFile=-/etc/transactional-update.conf
ExecStart=/usr/sbin/transactional-update cleanup ${UPDATE_METHOD} reboot
IOSchedulingClass=best-effort
IOSchedulingPriority=7
What about the reboot-sentinel
option?
The Pod mounts the hosts /var/run
folder to /sentinel
and for me it only works, when I change the path in the configuration (here an excerpt from a running Pod yaml):
apiVersion: v1
kind: Pod
metadata:
name: kured-94hjw
namespace: kube-system
...
...
spec:
containers:
...
volumeMounts:
- mountPath: /sentinel
name: sentinel
readOnly: true
...
volumes:
- hostPath:
path: /var/run
type: Directory
name: sentinel
...
And yes, I'll try the latest version, even though I haven't seen any changes in that area - but of course I could be wrong ;)
from terraform-hcloud-kube-hetzner.
I just upgraded kube-hetzner on a test cluster to latest v2.11.8. No changes on the cluster, in particular no Kured redeployment or something like that. So this version bump makes no difference.
from terraform-hcloud-kube-hetzner.
@jr-dimedis I will investigate this more, thanks for the info. Keep you posted.
from terraform-hcloud-kube-hetzner.
Related Issues (20)
- [Request]: can multiple kubernetes services share hetzner's loadbalancer through annotations? HOT 1
- Limit concurrency on machines updated in parallel HOT 1
- [Cilium] Full Kube proxy replacement not working HOT 20
- [Bug]: Kured communication gets timeout when talking to Kubernetes service HOT 10
- Autoscaler does not scale up. predicate checking error: Insufficient ephemeral-storage. HOT 60
- [Bug]: Autoscaler not scaling down to 0 agent nodes HOT 2
- [Bug]: Metrics server prevents the autoscaler to scale down to 0 HOT 2
- [Bug]: terraform apply HOT 1
- [Bug]: Autoscaling group does not even create minSize nodes HOT 1
- [Bug]: Kube-Hetzner incompatible with autoscaler version v1.27.0 - v1.28.2 HOT 3
- [Bug]: Unable to spinup a new cluster with a basic kube.tf HOT 4
- [Bug]: Traefik https redirect not working HOT 3
- kubectl top nodes values seem excessive
- [Feature Request]: Disable LoadBalancer in kube.tf HOT 1
- [Bug]: pod system-upgrade pod/system-upgrade-controller- CrashLoopBackOff HOT 2
- [Bug]: kustomization error: remote-exec provisioner error on .terraform/modules/api_k3s.kube-hetzner/init.tf line 289, in resource "null_resource" "kustomization" HOT 5
- Allow to disable public IP assignment on nodes HOT 1
- Find a way to allow the repo to work with either x86 or arm images only HOT 3
- [Bug]: Unwanted empty Load Balancer is created even if not requested 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-hcloud-kube-hetzner.