1
0
Fork 0
mirror of https://github.com/poseidon/typhoon synced 2024-05-23 07:56:14 +02:00
typhoon/google-cloud/flatcar-linux/kubernetes
Dalton Hubble 393a38deff Configure Graceful Node Shutdown and lengthen max inhibitor delay
* Configure Kubelet Graceful Node Shutdown to detect system shutdown
events and stop running containers gracefully when possible
* Allow up to 30s for critical pods to gracefully shutdown
* Allow up to 15s for regular pods to gracefully shutdown
* Node will be marked as NotReady promptly, instead of having to
wait for health checks
* Kubelet uses systemd inhibitor locks to delay shutdown for a limited
number of seconds
* Raise the default max inhibitor time from 5s to 45s

Verify systemd inhibitor locks are present:

```
sudo systemd-inhibit --list
WHO     UID USER PID  COMM    WHAT     WHY                                        MODE
kubelet 0   root 4581 kubelet shutdown Kubelet needs time to handle node shutdown delay
```

Tail journal logs and then shutdown a node via systemctl reboot
or via the cloud console to watch container shutdown

Rel:

* https://kubernetes.io/blog/2021/04/21/graceful-node-shutdown-beta/
* https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/
* https://github.com/kubernetes/kubernetes/issues/107043
* https://github.com/coreos/fedora-coreos-tracker/issues/821
* https://www.freedesktop.org/software/systemd/man/systemd-inhibit.html
* https://github.com/kubernetes/kubernetes/blob/release-1.24/pkg/kubelet/nodeshutdown/nodeshutdown_manager_linux.go
* https://github.com/godbus/dbus/blob/master/conn.go
2022-08-28 10:37:33 -07:00
..
butane Configure Graceful Node Shutdown and lengthen max inhibitor delay 2022-08-28 10:37:33 -07:00
workers Configure Graceful Node Shutdown and lengthen max inhibitor delay 2022-08-28 10:37:33 -07:00
LICENSE Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07:00
README.md Update Kubernetes from v1.24.4 to v1.25.0 2022-08-25 09:18:14 -07:00
apiserver.tf Roll instance template changes to worker managed instance groups 2022-08-14 13:06:53 -07:00
bootstrap.tf Update Kubernetes from v1.24.4 to v1.25.0 2022-08-25 09:18:14 -07:00
controllers.tf Migrate Flatcar Linux from Ignition spec v2.3.0 to v3.3.0 2022-08-03 08:32:52 -07:00
image.tf Remove Terraform template provider dependency 2022-08-02 18:15:03 -07:00
ingress.tf Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07:00
network.tf Adjust Google Cloud worker health checks to use kube-proxy healthz 2022-08-17 20:50:52 -07:00
outputs.tf Set kubeconfig and asset_dist as sensitive 2020-11-23 11:41:55 -08:00
ssh.tf Workaround Terraform v1.1 file provisioner regression 2021-12-28 13:25:23 -08:00
variables.tf Change default CNI provider from Calico to Cilium 2022-02-07 08:07:00 -08:00
versions.tf Migrate Flatcar Linux from Ignition spec v2.3.0 to v3.3.0 2022-08-03 08:32:52 -07:00
workers.tf Rename container-linux modules to flatcar-linux 2020-10-20 22:47:19 -07:00

Typhoon

Typhoon is a minimal and free Kubernetes distribution.

  • Minimal, stable base Kubernetes distribution
  • Declarative infrastructure and configuration
  • Free (freedom and cost) and privacy-respecting
  • Practical for labs, datacenters, and clouds

Typhoon distributes upstream Kubernetes, architectural conventions, and cluster addons, much like a GNU/Linux distribution provides the Linux kernel and userspace components.

Features

Docs

Please see the official docs and the Google Cloud tutorial.