typhoon/digital-ocean/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
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
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
network.tf Update Prometheus discovery of kube components 2021-08-10 21:25:19 -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 Migrate Flatcar Linux from Ignition spec v2.3.0 to v3.3.0 2022-08-03 08:32:52 -07:00

README.md

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

  • Kubernetes v1.25.0 (upstream)
  • Single or multi-master, Calico or Cilium or flannel networking
  • On-cluster etcd with TLS, RBAC-enabled, network policy
  • Advanced features like snippets customization
  • Ready for Ingress, Prometheus, Grafana, CSI, and other addons

Docs

Please see the official docs and the Digital Ocean tutorial.