daemonset.yaml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ---
  2. apiVersion: apps/v1
  3. kind: DaemonSet
  4. metadata:
  5. labels:
  6. addonmanager.kubernetes.io/mode: Reconcile
  7. k8s-app: node-termination-handler
  8. namespace: kube-system
  9. name: node-termination-handler
  10. spec:
  11. selector:
  12. matchLabels:
  13. k8s-app: node-termination-handler
  14. updateStrategy:
  15. type: RollingUpdate
  16. template:
  17. metadata:
  18. labels:
  19. k8s-app: node-termination-handler
  20. annotations:
  21. scheduler.alpha.kubernetes.io/critical-pod: ''
  22. spec:
  23. priorityClassName: system-node-critical
  24. # Necessary to reboot node
  25. hostPID: true
  26. affinity:
  27. nodeAffinity:
  28. # Restrict to GPU nodes or preemptible nodes
  29. requiredDuringSchedulingIgnoredDuringExecution:
  30. nodeSelectorTerms:
  31. - matchExpressions:
  32. - key: cloud.google.com/gke-accelerator
  33. operator: Exists
  34. - matchExpressions:
  35. - key: cloud.google.com/gke-preemptible
  36. operator: Exists
  37. volumes:
  38. - name: klet-service-account
  39. hostPath:
  40. path: /var/lib/kubelet
  41. - name: klet-ca-crt
  42. hostPath:
  43. path: /etc/srv/kubernetes
  44. tolerations:
  45. # Run regardless of any existing taints.
  46. - effect: NoSchedule
  47. operator: Exists
  48. - effect: NoExecute
  49. operator: Exists
  50. containers:
  51. - image: k8s.gcr.io/gke-node-termination-handler@sha256:aca12d17b222dfed755e28a44d92721e477915fb73211d0a0f8925a1fa847cca
  52. name: node-termination-handler
  53. command: ["./node-termination-handler"]
  54. args: ["--logtostderr", "--exclude-pods=$(POD_NAME):$(POD_NAMESPACE)", "-v=10", "--kubeconfig=/var/lib/kubelet/kubeconfig", "--taint=cloud.google.com/impending-node-termination::NoSchedule"]
  55. securityContext:
  56. capabilities:
  57. # Necessary to reboot node
  58. add: ["SYS_BOOT"]
  59. env:
  60. - name: POD_NAME
  61. valueFrom:
  62. fieldRef:
  63. fieldPath: metadata.name
  64. - name: POD_NAMESPACE
  65. valueFrom:
  66. fieldRef:
  67. fieldPath: metadata.namespace
  68. resources:
  69. limits:
  70. cpu: 50m
  71. memory: 30Mi
  72. volumeMounts:
  73. - name: klet-service-account
  74. mountPath: /var/lib/kubelet
  75. - name: klet-ca-crt
  76. mountPath: /etc/srv/kubernetes