Skip to content

Commit bc4348d

Browse files
authored
fixing hook issue with pre-install-job.yaml (#6395)
added pre-upgrade job pre-upgrade-job review changes pre-upgrade-job review changes add pre-upgrade hook to the left cm Signed-off-by: deefreak <[email protected]>
1 parent 343ffda commit bc4348d

File tree

4 files changed

+122
-14
lines changed

4 files changed

+122
-14
lines changed

charts/karmada/templates/_helpers.tpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,10 @@ app: {{- include "karmada.name" .}}-search
303303
{{- include "karmada.commonLabels" . -}}
304304
{{- end -}}
305305

306+
{{- define "karmada.preUpdateJob.labels" -}}
307+
{{- include "karmada.commonLabels" . -}}
308+
{{- end -}}
309+
306310
{{- define "karmada.staticResourceJob.labels" -}}
307311
{{- include "karmada.commonLabels" . -}}
308312
{{- end -}}

charts/karmada/templates/pre-install-job.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: {{ $name }}-crds-kustomization
99
namespace: {{ $namespace }}
1010
annotations:
11-
"helm.sh/hook": pre-install
11+
"helm.sh/hook": pre-install,pre-upgrade
1212
"helm.sh/hook-weight": "2"
1313
{{- if "karmada.preInstallJob.labels" }}
1414
labels:
@@ -28,7 +28,7 @@ metadata:
2828
name: {{ $name }}-crds-autoscaling-bases
2929
namespace: {{ $namespace }}
3030
annotations:
31-
"helm.sh/hook": pre-install
31+
"helm.sh/hook": pre-install,pre-upgrade
3232
"helm.sh/hook-weight": "2"
3333
{{- if "karmada.preInstallJob.labels" }}
3434
labels:
@@ -48,7 +48,7 @@ metadata:
4848
name: {{ $name }}-crds-config-bases
4949
namespace: {{ $namespace }}
5050
annotations:
51-
"helm.sh/hook": pre-install
51+
"helm.sh/hook": pre-install,pre-upgrade
5252
"helm.sh/hook-weight": "2"
5353
{{- if "karmada.preInstallJob.labels" }}
5454
labels:
@@ -68,7 +68,7 @@ metadata:
6868
name: {{ $name }}-crds-multicluster-bases
6969
namespace: {{ $namespace }}
7070
annotations:
71-
"helm.sh/hook": pre-install
71+
"helm.sh/hook": pre-install,pre-upgrade
7272
"helm.sh/hook-weight": "2"
7373
{{- if "karmada.preInstallJob.labels" }}
7474
labels:
@@ -88,7 +88,7 @@ metadata:
8888
name: {{ $name }}-crds-networking-bases
8989
namespace: {{ $namespace }}
9090
annotations:
91-
"helm.sh/hook": pre-install
91+
"helm.sh/hook": pre-install,pre-upgrade
9292
"helm.sh/hook-weight": "2"
9393
{{- if "karmada.preInstallJob.labels" }}
9494
labels:
@@ -109,7 +109,7 @@ metadata:
109109
name: {{ $name }}-crds-policy-bases
110110
namespace: {{ $namespace }}
111111
annotations:
112-
"helm.sh/hook": pre-install
112+
"helm.sh/hook": pre-install,pre-upgrade
113113
"helm.sh/hook-weight": "2"
114114
{{- if "karmada.preInstallJob.labels" }}
115115
labels:
@@ -129,7 +129,7 @@ metadata:
129129
name: {{ $name }}-crds-remedy-bases
130130
namespace: {{ $namespace }}
131131
annotations:
132-
"helm.sh/hook": pre-install
132+
"helm.sh/hook": pre-install,pre-upgrade
133133
"helm.sh/hook-weight": "2"
134134
{{- if "karmada.preInstallJob.labels" }}
135135
labels:
@@ -149,7 +149,7 @@ metadata:
149149
name: {{ $name }}-crds-work-bases
150150
namespace: {{ $namespace }}
151151
annotations:
152-
"helm.sh/hook": pre-install
152+
"helm.sh/hook": pre-install,pre-upgrade
153153
"helm.sh/hook-weight": "2"
154154
{{- if "karmada.preInstallJob.labels" }}
155155
labels:
@@ -169,7 +169,7 @@ metadata:
169169
name: {{ $name }}-crds-apps-bases
170170
namespace: {{ $namespace }}
171171
annotations:
172-
"helm.sh/hook": pre-install
172+
"helm.sh/hook": pre-install,pre-upgrade
173173
"helm.sh/hook-weight": "2"
174174
{{- if "karmada.preInstallJob.labels" }}
175175
labels:
@@ -189,7 +189,7 @@ metadata:
189189
name: {{ $name }}-hook-job
190190
namespace: {{ $namespace }}
191191
annotations:
192-
"helm.sh/hook": pre-install
192+
"helm.sh/hook": pre-install,pre-upgrade
193193
"helm.sh/hook-weight": "1"
194194
{{- if "karmada.preInstallJob.labels" }}
195195
labels:
@@ -201,7 +201,7 @@ kind: ClusterRole
201201
metadata:
202202
name: {{ $name }}-hook-job
203203
annotations:
204-
"helm.sh/hook": pre-install
204+
"helm.sh/hook": pre-install,pre-upgrade
205205
"helm.sh/hook-weight": "1"
206206
{{- if "karmada.preInstallJob.labels" }}
207207
labels:
@@ -219,7 +219,7 @@ kind: ClusterRoleBinding
219219
metadata:
220220
name: {{ $name }}-hook-job
221221
annotations:
222-
"helm.sh/hook": pre-install
222+
"helm.sh/hook": pre-install,pre-upgrade
223223
"helm.sh/hook-weight": "1"
224224
{{- if "karmada.preInstallJob.labels" }}
225225
labels:
@@ -242,7 +242,7 @@ metadata:
242242
name: {{ $name }}-static-resources
243243
namespace: {{ $namespace }}
244244
annotations:
245-
"helm.sh/hook": pre-install
245+
"helm.sh/hook": pre-install,pre-upgrade
246246
"helm.sh/hook-weight": "2"
247247
{{- if "karmada.preInstallJob.labels" }}
248248
labels:
@@ -268,7 +268,7 @@ metadata:
268268
name: {{ $name }}-crds-patches
269269
namespace: {{ $namespace }}
270270
annotations:
271-
"helm.sh/hook": pre-install
271+
"helm.sh/hook": pre-install,pre-upgrade
272272
"helm.sh/hook-weight": "2"
273273
{{- if "karmada.preInstallJob.labels" }}
274274
labels:
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{{- $name := include "karmada.name" . -}}
2+
{{- $namespace := include "karmada.namespace" . -}}
3+
{{- if eq .Values.installMode "host" }}
4+
{{- if eq .Values.certs.mode "auto" }}
5+
---
6+
apiVersion: v1
7+
kind: ConfigMap
8+
metadata:
9+
name: {{ $name }}-static-resources
10+
namespace: {{ $namespace }}
11+
annotations:
12+
"helm.sh/hook": pre-upgrade
13+
"helm.sh/hook-weight": "2"
14+
data:
15+
{{- print "webhook-configuration.yaml: " | nindent 6 }} |-
16+
{{- include "karmada.webhook.configuration" . | nindent 8 }}
17+
{{- print "system-namespace.yaml: " | nindent 6 }} |-
18+
{{- include "karmada.systemNamespace" . | nindent 8 }}
19+
{{- print "karmada-aggregated-apiserver-apiservice.yaml: " | nindent 6 }} |-
20+
{{- include "karmada.apiservice" . | nindent 8 }}
21+
{{- print "cluster-proxy-admin-rbac.yaml: " | nindent 6 }} |-
22+
{{- include "karmada.proxyRbac" . | nindent 8 }}
23+
{{- print "bootstrap-token-configuration.yaml: " | nindent 6 }} |-
24+
{{- include "karmada.bootstrapToken.configuration" . | nindent 8 }}
25+
{{- print "clusterrole.yaml: " | nindent 6 }} |-
26+
{{- include "karmada.clusterrole" . | nindent 8 }}
27+
---
28+
apiVersion: v1
29+
kind: ConfigMap
30+
metadata:
31+
name: {{ $name }}-crds-patches
32+
namespace: {{ $namespace }}
33+
annotations:
34+
"helm.sh/hook": pre-upgrade
35+
"helm.sh/hook-weight": "2"
36+
data:
37+
{{- print "webhook_in_clusterresourcebindings.yaml: " | nindent 6 }} |-
38+
{{- include "karmada.crd.patch.webhook.clusterresourcebinding" . | nindent 8 }}
39+
{{- print "webhook_in_resourcebindings.yaml: " | nindent 6 }} |-
40+
{{- include "karmada.crd.patch.webhook.resourcebinding" . | nindent 8 }}
41+
---
42+
apiVersion: batch/v1
43+
kind: Job
44+
metadata:
45+
name: "{{ $name }}-pre-upgrade"
46+
namespace: {{ $namespace }}
47+
annotations:
48+
"helm.sh/hook": pre-upgrade
49+
"helm.sh/hook-weight": "3"
50+
"helm.sh/hook-delete-policy": {{ .Values.preUpdateJob.hookDeletePolicy }}
51+
{{- if "karmada.preUpdateJob.labels" }}
52+
labels:
53+
{{- include "karmada.preUpdateJob.labels" . | nindent 4 }}
54+
{{- end }}
55+
spec:
56+
parallelism: 1
57+
completions: 1
58+
template:
59+
metadata:
60+
name: {{ $name }}-pre-upgrade
61+
labels:
62+
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
63+
app.kubernetes.io/instance: {{ $name | quote }}
64+
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
65+
spec:
66+
{{- include "karmada.imagePullSecrets" . | nindent 6 }}
67+
{{- with .Values.preUpdateJob.tolerations}}
68+
tolerations:
69+
{{- toYaml . | nindent 8 }}
70+
{{- end }}
71+
{{- with .Values.preUpdateJob.nodeSelector }}
72+
nodeSelector:
73+
{{- toYaml . | nindent 8 }}
74+
{{- end }}
75+
serviceAccountName: {{ $name }}-hook-job
76+
restartPolicy: Never
77+
containers:
78+
- name: pre-upgrade
79+
image: {{ template "karmada.kubectl.image" . }}
80+
imagePullPolicy: {{ .Values.kubectl.image.pullPolicy }}
81+
command:
82+
- /bin/sh
83+
- -c
84+
- |
85+
set -ex
86+
# Fetch certs from existing secret
87+
karmada_ca=$(kubectl get secret {{ $name }}-cert -n {{ $namespace }} -o jsonpath='{.data.server-ca\.crt}')
88+
kubectl get configmap {{ $name }}-static-resources -n {{ $namespace }} -o yaml | sed -e "s/{{ print "{{ ca_crt }}" }}/${karmada_ca}/g" | kubectl apply -f -
89+
kubectl get configmap {{ $name }}-crds-patches -n {{ $namespace }} -o yaml | sed -e "s/{{ print "{{ ca_crt }}" }}/${karmada_ca}/g" | kubectl apply -f -
90+
resources:
91+
requests:
92+
cpu: 50m
93+
memory: 64Mi
94+
limits:
95+
cpu: 100m
96+
memory: 128Mi
97+
{{- end }}
98+
{{- end }}

charts/karmada/values.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@ preInstallJob:
9898
## Define policies that determine when to delete corresponding hook resources: before-hook-creation,hook-succeeded,hook-failed
9999
hookDeletePolicy: "hook-succeeded"
100100

101+
preUpdateJob:
102+
tolerations: []
103+
nodeSelector: {}
104+
## Define policies that determine when to delete corresponding hook resources: before-hook-creation,hook-succeeded,hook-failed
105+
hookDeletePolicy: "hook-succeeded"
106+
101107
## static-resource job config
102108
staticResourceJob:
103109
tolerations: []

0 commit comments

Comments
 (0)