diff --git a/charts/kubezero-addons/Chart.yaml b/charts/kubezero-addons/Chart.yaml index d493148..d1a8189 100644 --- a/charts/kubezero-addons/Chart.yaml +++ b/charts/kubezero-addons/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubezero-addons description: KubeZero umbrella chart for various optional cluster addons type: application -version: 0.4.2 +version: 0.4.4 home: https://kubezero.com icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png keywords: @@ -15,7 +15,7 @@ maintainers: email: stefan@zero-downtime.net dependencies: - name: aws-node-termination-handler - version: 0.16.0 + version: 0.18.0 # repository: https://aws.github.io/eks-charts condition: aws-node-termination-handler.enabled kubeVersion: ">= 1.20.0" diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/.helmignore b/charts/kubezero-addons/charts/aws-node-termination-handler/.helmignore index 50af031..69a5231 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/.helmignore +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/.helmignore @@ -20,3 +20,4 @@ .idea/ *.tmproj .vscode/ +example-values*.yaml diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/Chart.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/Chart.yaml index c7dd973..615ab0c 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/Chart.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/Chart.yaml @@ -1,25 +1,25 @@ apiVersion: v2 -name: aws-node-termination-handler +appVersion: 1.16.0 description: A Helm chart for the AWS Node Termination Handler. -type: application -version: 0.16.0 -appVersion: 1.14.0 -kubeVersion: ">= 1.16-0" -keywords: - - aws - - eks - - ec2 - - node-termination - - spot home: https://github.com/aws/eks-charts icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png -sources: - - https://github.com/aws/aws-node-termination-handler/ - - https://github.com/aws/eks-charts/ +keywords: +- aws +- eks +- ec2 +- node-termination +- spot +kubeVersion: '>= 1.16-0' maintainers: - - name: Brandon Wagner - url: https://github.com/bwagner5 - email: bwagner5@users.noreply.github.com - - name: Jillian Montalvo - url: https://github.com/jillmon - email: jillmon@users.noreply.github.com +- email: bwagner5@users.noreply.github.com + name: Brandon Wagner + url: https://github.com/bwagner5 +- email: jillmon@users.noreply.github.com + name: Jillian Kuentz + url: https://github.com/jillmon +name: aws-node-termination-handler +sources: +- https://github.com/aws/aws-node-termination-handler/ +- https://github.com/aws/eks-charts/ +type: application +version: 0.18.0 diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/README.md b/charts/kubezero-addons/charts/aws-node-termination-handler/README.md index 4876692..43f7d48 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/README.md +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/README.md @@ -76,6 +76,7 @@ The configuration in this table applies to all AWS Node Termination Handler mode | `dryRun` | If `true`, only log if a node would be drained. | `false` | | `cordonOnly` | If `true`, nodes will be cordoned but not drained when an interruption event occurs. | `false` | | `taintNode` | If `true`, nodes will be tainted when an interruption event occurs. Currently used taint keys are `aws-node-termination-handler/scheduled-maintenance`, `aws-node-termination-handler/spot-itn`, `aws-node-termination-handler/asg-lifecycle-termination` and `aws-node-termination-handler/rebalance-recommendation`. | `false` | +| `excludeFromLoadBalancers` | If `true`, nodes will be marked for exclusion from load balancers before they are cordoned. This applies the `node.kubernetes.io/exclude-from-external-load-balancers` label to enable the ServiceNodeExclusion feature gate. The label will not be modified or removed for nodes that already have it. | `false` | | `deleteLocalData` | If `true`, continue even if there are pods using local data that will be deleted when the node is drained. | `true` | | `ignoreDaemonSets` | If `true`, skip terminating daemon set managed pods. | `true` | | `podTerminationGracePeriod` | The time in seconds given to each pod to terminate gracefully. If negative, the default value specified in the pod will be used, which defaults to 30 seconds if not specified for the pod. | `-1` | @@ -133,6 +134,7 @@ The configuration in this table applies to AWS Node Termination Handler in IMDS | `podMonitor.sampleLimit` | Number of scraped samples accepted. | `5000` | | `useHostNetwork` | If `true`, enables `hostNetwork` for the Linux DaemonSet. NOTE: setting this to `false` may cause issues accessing IMDSv2 if your account is not configured with an IP hop count of 2 see [Metrics Endpoint Considerations](#metrics-endpoint-considerations) | `true` | | `dnsPolicy` | If specified, this overrides `linuxDnsPolicy` and `windowsDnsPolicy` with a single policy. | `""` | +| `dnsConfig` | If specified, this sets the dnsConfig: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config | `{}` | | `linuxDnsPolicy` | DNS policy for the Linux DaemonSet. | `""` | | `windowsDnsPolicy` | DNS policy for the Windows DaemonSet. | `""` | | `daemonsetNodeSelector` | Expressions to select a node by it's labels for DaemonSet pod assignment. For backwards compatibility the `nodeSelector` value has priority over this but shouldn't be used. | `{}` | diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-linux.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-linux.yaml deleted file mode 100644 index c0df26c..0000000 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-linux.yaml +++ /dev/null @@ -1,5 +0,0 @@ -enableSqsTerminationDraining: false - -targetNodeOs: linux - -enableProbesServer: true diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-windows.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-windows.yaml deleted file mode 100644 index 193978e..0000000 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-imds-windows.yaml +++ /dev/null @@ -1,5 +0,0 @@ -enableSqsTerminationDraining: false - -targetNodeOs: windows - -enableProbesServer: true diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-queue.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-queue.yaml deleted file mode 100644 index fd204ab..0000000 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/example-values-queue.yaml +++ /dev/null @@ -1,13 +0,0 @@ -serviceAccount: - annotations: - eks.amazonaws.com/role-arn: arn:aws:iam::99999999:role/nth-role - -resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 256Mi - -enableSqsTerminationDraining: true diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.linux.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.linux.yaml index 199879c..1e250e7 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.linux.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.linux.yaml @@ -3,6 +3,7 @@ apiVersion: apps/v1 kind: DaemonSet metadata: name: {{ include "aws-node-termination-handler.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} spec: @@ -45,6 +46,10 @@ spec: {{- end }} hostNetwork: {{ .Values.useHostNetwork }} dnsPolicy: {{ default .Values.linuxDnsPolicy .Values.dnsPolicy }} + {{- with .Values.dnsConfig }} + dnsConfig: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: aws-node-termination-handler {{- with .Values.securityContext }} @@ -92,6 +97,8 @@ spec: value: {{ .Values.cordonOnly | quote }} - name: TAINT_NODE value: {{ .Values.taintNode | quote }} + - name: EXCLUDE_FROM_LOAD_BALANCERS + value: {{ .Values.excludeFromLoadBalancers | quote }} - name: DELETE_LOCAL_DATA value: {{ .Values.deleteLocalData | quote }} - name: IGNORE_DAEMON_SETS @@ -152,9 +159,9 @@ spec: containerPort: {{ .Values.probes.httpGet.port }} {{- end }} {{- if .Values.enablePrometheusServer }} - - name: http-metrics - protocol: TCP - containerPort: {{ .Values.prometheusServerPort }} + - name: http-metrics + protocol: TCP + containerPort: {{ .Values.prometheusServerPort }} {{- end }} {{- end }} {{- if .Values.enableProbesServer }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.windows.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.windows.yaml index ea7f833..f4e2935 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.windows.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/daemonset.windows.yaml @@ -3,6 +3,7 @@ apiVersion: apps/v1 kind: DaemonSet metadata: name: {{ include "aws-node-termination-handler.fullnameWindows" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} spec: @@ -45,6 +46,10 @@ spec: {{- end }} hostNetwork: false dnsPolicy: {{ default .Values.windowsDnsPolicy .Values.dnsPolicy }} + {{- with .Values.dnsConfig }} + dnsConfig: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: aws-node-termination-handler {{- with .Values.securityContext }} @@ -92,6 +97,8 @@ spec: value: {{ .Values.cordonOnly | quote }} - name: TAINT_NODE value: {{ .Values.taintNode | quote }} + - name: EXCLUDE_FROM_LOAD_BALANCERS + value: {{ .Values.excludeFromLoadBalancers | quote }} - name: DELETE_LOCAL_DATA value: {{ .Values.deleteLocalData | quote }} - name: IGNORE_DAEMON_SETS @@ -151,10 +158,10 @@ spec: hostPort: {{ .Values.probes.httpGet.port }} {{- end }} {{- if .Values.enablePrometheusServer }} - - name: http-metrics - protocol: TCP - containerPort: {{ .Values.prometheusServerPort }} - hostPort: {{ .Values.prometheusServerPort }} + - name: http-metrics + protocol: TCP + containerPort: {{ .Values.prometheusServerPort }} + hostPort: {{ .Values.prometheusServerPort }} {{- end }} {{- end }} {{- if .Values.enableProbesServer }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/deployment.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/deployment.yaml index d29d92f..41bf12c 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/deployment.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/deployment.yaml @@ -3,6 +3,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "aws-node-termination-handler.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} spec: @@ -42,6 +43,10 @@ spec: {{- with .Values.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ . }} {{- end }} + {{- with .Values.dnsConfig }} + dnsConfig: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: aws-node-termination-handler {{- with .Values.securityContext }} @@ -89,6 +94,8 @@ spec: value: {{ .Values.cordonOnly | quote }} - name: TAINT_NODE value: {{ .Values.taintNode | quote }} + - name: EXCLUDE_FROM_LOAD_BALANCERS + value: {{ .Values.excludeFromLoadBalancers | quote }} - name: DELETE_LOCAL_DATA value: {{ .Values.deleteLocalData | quote }} - name: IGNORE_DAEMON_SETS @@ -165,9 +172,9 @@ spec: protocol: TCP containerPort: {{ .Values.probes.httpGet.port }} {{- if .Values.enablePrometheusServer }} - - name: http-metrics - protocol: TCP - containerPort: {{ .Values.prometheusServerPort }} + - name: http-metrics + protocol: TCP + containerPort: {{ .Values.prometheusServerPort }} {{- end }} livenessProbe: {{- toYaml .Values.probes | nindent 12 }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/pdb.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/pdb.yaml index a2564fc..7f43ab2 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/pdb.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/pdb.yaml @@ -3,6 +3,7 @@ apiVersion: {{ include "aws-node-termination-handler.pdb.apiVersion" . }} kind: PodDisruptionBudget metadata: name: {{ include "aws-node-termination-handler.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} spec: diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/podmonitor.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/podmonitor.yaml index bbcbd9b..e214d12 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/podmonitor.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/podmonitor.yaml @@ -3,9 +3,7 @@ apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: {{ template "aws-node-termination-handler.fullname" . }} - {{- if .Values.podMonitor.namespace }} - namespace: {{ .Values.podMonitor.namespace }} - {{- end }} + namespace: {{ default .Release.Namespace .Values.podMonitor.namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} {{- with .Values.podMonitor.labels }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/psp.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/psp.yaml index e0034c1..70c576e 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/psp.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/psp.yaml @@ -19,8 +19,8 @@ spec: max: {{ .Values.prometheusServerPort }} {{- end }} {{- if .Values.enableProbesServer }} - - min: {{ .Values.probesServerPort }} - max: {{ .Values.probesServerPort }} + - min: {{ .Values.probes.httpGet.port }} + max: {{ .Values.probes.httpGet.port }} {{- end }} {{- end }} readOnlyRootFilesystem: false diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/service.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/service.yaml index 869e260..1779749 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/service.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/service.yaml @@ -3,6 +3,7 @@ apiVersion: v1 kind: Service metadata: name: {{ include "aws-node-termination-handler.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} spec: diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/serviceaccount.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/serviceaccount.yaml index a83276d..08f3dc5 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/serviceaccount.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/serviceaccount.yaml @@ -3,6 +3,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ template "aws-node-termination-handler.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} {{- with .Values.serviceAccount.annotations }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/servicemonitor.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/servicemonitor.yaml index caee505..d5fe147 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/templates/servicemonitor.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/templates/servicemonitor.yaml @@ -3,9 +3,7 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: {{ include "aws-node-termination-handler.fullname" . }} - {{- if .Values.serviceMonitor.namespace }} - namespace: {{ .Values.serviceMonitor.namespace }} - {{- end }} + namespace: {{ default .Release.Namespace .Values.serviceMonitor.namespace }} labels: {{- include "aws-node-termination-handler.labels" . | nindent 4 }} {{- with .Values.serviceMonitor.labels }} diff --git a/charts/kubezero-addons/charts/aws-node-termination-handler/values.yaml b/charts/kubezero-addons/charts/aws-node-termination-handler/values.yaml index a49c7d6..88491d8 100644 --- a/charts/kubezero-addons/charts/aws-node-termination-handler/values.yaml +++ b/charts/kubezero-addons/charts/aws-node-termination-handler/values.yaml @@ -81,6 +81,9 @@ cordonOnly: false # Taint node upon spot interruption termination notice. taintNode: false +# Exclude node from load balancer before cordoning via the ServiceNodeExclusion feature gate. +excludeFromLoadBalancers: false + # deleteLocalData tells kubectl to continue even if there are pods using # emptyDir (local data that will be deleted when the node is drained). deleteLocalData: true @@ -219,6 +222,7 @@ useHostNetwork: true # Daemonset DNS policy dnsPolicy: "" +dnsConfig: {} linuxDnsPolicy: ClusterFirstWithHostNet windowsDnsPolicy: ClusterFirst diff --git a/charts/kubezero-addons/templates/cluster-backup/cronjob.yaml b/charts/kubezero-addons/templates/cluster-backup/cronjob.yaml index bcc30de..3868c38 100644 --- a/charts/kubezero-addons/templates/cluster-backup/cronjob.yaml +++ b/charts/kubezero-addons/templates/cluster-backup/cronjob.yaml @@ -9,6 +9,7 @@ spec: jobTemplate: spec: backoffLimit: 1 + activeDeadlineSeconds: 300 ttlSecondsAfterFinished: 3600 template: spec: diff --git a/charts/kubezero-addons/update.sh b/charts/kubezero-addons/update.sh index 0f394ca..9b1de65 100755 --- a/charts/kubezero-addons/update.sh +++ b/charts/kubezero-addons/update.sh @@ -3,9 +3,8 @@ set -ex NTH_VERSION=$(yq eval '.dependencies[] | select(.name=="aws-node-termination-handler") | .version' Chart.yaml) -# Disabled until these AWS "pros" bump the chart number -#rm -rf charts/aws-node-termination-handler -#helm pull eks/aws-node-termination-handler --untar --untardir charts --version $NTH_VERSION +rm -rf charts/aws-node-termination-handler +helm pull eks/aws-node-termination-handler --untar --untardir charts --version $NTH_VERSION # diff -tuNr charts/aws-node-termination-handler.orig charts/aws-node-termination-handler > nth.patch patch -p0 -i nth.patch --no-backup-if-mismatch diff --git a/charts/kubezero-addons/values.yaml b/charts/kubezero-addons/values.yaml index aee6132..0a9a74b 100644 --- a/charts/kubezero-addons/values.yaml +++ b/charts/kubezero-addons/values.yaml @@ -26,8 +26,8 @@ aws-node-termination-handler: fullnameOverride: "aws-node-termination-handler" - image: - tag: v1.14.1 + #image: + # tag: v1.14.1 # -- "aws-node-termination-handler/${ClusterName}" managedAsgTag: "aws-node-termination-handler/managed"