daemonset.yaml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. spec:
  21. priorityClassName: system-node-critical
  22. # Necessary to reboot node
  23. hostPID: true
  24. affinity:
  25. nodeAffinity:
  26. # Restrict to GPU nodes or preemptible nodes
  27. requiredDuringSchedulingIgnoredDuringExecution:
  28. nodeSelectorTerms:
  29. - matchExpressions:
  30. - key: cloud.google.com/gke-accelerator
  31. operator: Exists
  32. - matchExpressions:
  33. - key: cloud.google.com/gke-preemptible
  34. operator: Exists
  35. volumes:
  36. - name: klet-service-account
  37. hostPath:
  38. path: /var/lib/kubelet
  39. - name: klet-ca-crt
  40. hostPath:
  41. path: /etc/srv/kubernetes
  42. tolerations:
  43. # Run regardless of any existing taints.
  44. - effect: NoSchedule
  45. operator: Exists
  46. - effect: NoExecute
  47. operator: Exists
  48. containers:
  49. - image: k8s.gcr.io/gke-node-termination-handler@sha256:aca12d17b222dfed755e28a44d92721e477915fb73211d0a0f8925a1fa847cca
  50. name: node-termination-handler
  51. command: ["./node-termination-handler"]
  52. args: ["--logtostderr", "--exclude-pods=$(POD_NAME):$(POD_NAMESPACE)", "-v=10", "--kubeconfig=/var/lib/kubelet/kubeconfig", "--taint=cloud.google.com/impending-node-termination::NoSchedule"]
  53. securityContext:
  54. capabilities:
  55. # Necessary to reboot node
  56. add: ["SYS_BOOT"]
  57. env:
  58. - name: POD_NAME
  59. valueFrom:
  60. fieldRef:
  61. fieldPath: metadata.name
  62. - name: POD_NAMESPACE
  63. valueFrom:
  64. fieldRef:
  65. fieldPath: metadata.namespace
  66. resources:
  67. limits:
  68. cpu: 50m
  69. memory: 30Mi
  70. volumeMounts:
  71. - name: klet-service-account
  72. mountPath: /var/lib/kubelet
  73. - name: klet-ca-crt
  74. mountPath: /etc/srv/kubernetes