The `k8s-reboot-coordinator` coordinates node reboots throughout the cluster. It runs as a DaemonSet, watching for the presence of a sentinel file, `/run/reboot-needed` on the node. When the file appears, it acquires a lease, to ensure that only one node reboots at a time, cordons and drains the node, and then triggers the reboot by running a command on the host. After the node has rebooted, the daemon will release the lock and uncordon the node.
38 lines
850 B
YAML
38 lines
850 B
YAML
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
|
|
namespace: kube-system
|
|
|
|
labels:
|
|
- pairs:
|
|
app.kubernetes.io/instance: k8s-reboot-coordinator
|
|
includeSelectors: true
|
|
|
|
resources:
|
|
- https://git.pyrocufflink.net/dustin/k8s-reboot-coordinator//kubernetes?ref=master
|
|
- service.yaml
|
|
- jenkins.yaml
|
|
|
|
images:
|
|
- name: k8s-reboot-coordinator
|
|
newName: git.pyrocufflink.net/packages/k8s-reboot-coordinator
|
|
newTag: latest
|
|
|
|
patches:
|
|
- patch: |-
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: k8s-reboot-coordinator
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: k8s-reboot-coordinator
|
|
imagePullPolicy: Always
|
|
env:
|
|
- name: RUST_LOG
|
|
value: k8s_reboot_coordinator=debug,info
|
|
imagePullSecrets:
|
|
- name: imagepull-gitea
|