mirror of https://github.com/k3s-io/k3s
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
---
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
labels:
|
|
addonmanager.kubernetes.io/mode: Reconcile
|
|
k8s-app: node-termination-handler
|
|
namespace: kube-system
|
|
name: node-termination-handler
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
k8s-app: node-termination-handler
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
template:
|
|
metadata:
|
|
labels:
|
|
k8s-app: node-termination-handler
|
|
annotations:
|
|
scheduler.alpha.kubernetes.io/critical-pod: ''
|
|
spec:
|
|
priorityClassName: system-node-critical
|
|
# Necessary to reboot node
|
|
hostPID: true
|
|
affinity:
|
|
nodeAffinity:
|
|
# Restrict to GPU nodes or preemptible nodes
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: cloud.google.com/gke-accelerator
|
|
operator: Exists
|
|
- matchExpressions:
|
|
- key: cloud.google.com/gke-preemptible
|
|
operator: Exists
|
|
volumes:
|
|
- name: klet-service-account
|
|
hostPath:
|
|
path: /var/lib/kubelet
|
|
- name: klet-ca-crt
|
|
hostPath:
|
|
path: /etc/srv/kubernetes
|
|
tolerations:
|
|
# Run regardless of any existing taints.
|
|
- effect: NoSchedule
|
|
operator: Exists
|
|
- effect: NoExecute
|
|
operator: Exists
|
|
containers:
|
|
- image: k8s.gcr.io/gke-node-termination-handler@sha256:e08ca863a547754fa7b75064bdad04f04cbef86c7b0a181ecc7304e747623181
|
|
name: node-termination-handler
|
|
command: ["./node-termination-handler"]
|
|
args: ["--logtostderr", "--exclude-pods=$(POD_NAME):$(POD_NAMESPACE)", "-v=10", "--kubeconfig=/var/lib/kubelet/kubeconfig", "--annotation=cloud.google.com/impending-node-termination"]
|
|
securityContext:
|
|
capabilities:
|
|
# Necessary to reboot node
|
|
add: ["SYS_BOOT"]
|
|
env:
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
resources:
|
|
limits:
|
|
cpu: 50m
|
|
memory: 30Mi
|
|
volumeMounts:
|
|
- name: klet-service-account
|
|
mountPath: /var/lib/kubelet
|
|
- name: klet-ca-crt
|
|
mountPath: /etc/srv/kubernetes
|