helm: spilt karmada-config ConfigMap

Signed-off-by: changzhen <changzhen5@huawei.com>
This commit is contained in:
changzhen 2023-06-26 17:16:00 +08:00
parent b005d5b134
commit fad05cea57
20 changed files with 286 additions and 99 deletions

View File

@ -1,18 +1,19 @@
resources:
- bases/multicluster.x-k8s.io_serviceexports.yaml
- bases/multicluster.x-k8s.io_serviceimports.yaml
- bases/policy.karmada.io_clusteroverridepolicies.yaml
- bases/policy.karmada.io_clusterpropagationpolicies.yaml
- bases/policy.karmada.io_federatedresourcequotas.yaml
- bases/policy.karmada.io_overridepolicies.yaml
- bases/policy.karmada.io_propagationpolicies.yaml
- bases/work.karmada.io_resourcebindings.yaml
- bases/work.karmada.io_clusterresourcebindings.yaml
- bases/work.karmada.io_works.yaml
- bases/config.karmada.io_resourceinterpretercustomizations.yaml
- bases/config.karmada.io_resourceinterpreterwebhookconfigurations.yaml
- bases/networking.karmada.io_multiclusteringresses.yaml
- bases/autoscaling.karmada.io_federatedhpas.yaml
- bases/multicluster/multicluster.x-k8s.io_serviceexports.yaml
- bases/multicluster/multicluster.x-k8s.io_serviceimports.yaml
- bases/policy/policy.karmada.io_clusteroverridepolicies.yaml
- bases/policy/policy.karmada.io_clusterpropagationpolicies.yaml
- bases/policy/policy.karmada.io_federatedresourcequotas.yaml
- bases/policy/policy.karmada.io_overridepolicies.yaml
- bases/policy/policy.karmada.io_propagationpolicies.yaml
- bases/work/work.karmada.io_resourcebindings.yaml
- bases/work/work.karmada.io_clusterresourcebindings.yaml
- bases/work/work.karmada.io_works.yaml
- bases/config/config.karmada.io_resourceinterpretercustomizations.yaml
- bases/config/config.karmada.io_resourceinterpreterwebhookconfigurations.yaml
- bases/networking/networking.karmada.io_multiclusteringresses.yaml
- bases/autoscaling/autoscaling.karmada.io_federatedhpas.yaml
- bases/autoscaling/autoscaling.karmada.io_cronfederatedhpas.yaml
patchesStrategicMerge:
- patches/webhook_in_resourcebindings.yaml

View File

@ -44,14 +44,50 @@ spec:
bash <<'EOF'
set -ex
kubectl delete -f /opt/mount/ --ignore-not-found=true
kubectl delete -f /opt/crds/ --ignore-not-found=true -R
kubectl delete cm/{{ $name }}-config -n {{ $namespace }} --ignore-not-found=true
kubectl delete deployment/{{ $name }}-controller-manager -n {{ $namespace }} --ignore-not-found=true
EOF
volumeMounts:
- name: mount
mountPath: /opt/mount
- name: crds
mountPath: /opt/crds
- name: crds-autoscaling-base
mountPath: /opt/crds/base/autoscaling
- name: crds-config-base
mountPath: /opt/crds/base/config
- name: crds-multicluster-base
mountPath: /opt/crds/base/multicluster
- name: crds-networking-base
mountPath: /opt/crds/base/networking
- name: crds-policy-base
mountPath: /opt/crds/base/policy
- name: crds-work-base
mountPath: /opt/crds/base/work
volumes:
- name: mount
configMap:
name: {{ $name }}-config
- name: mount
configMap:
name: {{ $name }}-config
- name: crds
configMap:
name: {{ $name }}-crds-config
- name: crds-autoscaling-base
configMap:
name: {{ $name }}-crds-autoscaling-bases-config
- name: crds-config-base
configMap:
name: {{ $name }}-crds-config-bases-config
- name: crds-multicluster-base
configMap:
name: {{ $name }}-crds-multicluster-bases-config
- name: crds-networking-base
configMap:
name: {{ $name }}-crds-networking-bases-config
- name: crds-policy-base
configMap:
name: {{ $name }}-crds-policy-bases-config
- name: crds-work-base
configMap:
name: {{ $name }}-crds-work-bases-config
{{- end }}

View File

@ -1,60 +1,6 @@
{{- $name := include "karmada.name" . -}}
{{- $namespace := include "karmada.namespace" . -}}
{{- if eq .Values.installMode "host" }}
{{- if eq .Values.certs.mode "custom" }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-static-resources
namespace: {{ $namespace }}
data:
{{- print "webhook-configuration.yaml: " | nindent 2 }} |-
{{- include "karmada.webhook.configuration" . | nindent 4 }}
{{- print "system-namespace.yaml: " | nindent 2 }} |-
{{- include "karmada.systemNamespace" . | nindent 4 }}
{{- print "karmada-aggregated-apiserver-apiservice.yaml: " | nindent 2 }} |-
{{- include "karmada.apiservice" . | nindent 4 }}
{{- print "cluster-proxy-admin-rbac.yaml: " | nindent 2 }} |-
{{- include "karmada.proxyRbac" . | nindent 4 }}
{{- print "bootstrap-token-configuration.yaml: " | nindent 2 }} |-
{{- include "karmada.bootstrapToken.configuration" . | nindent 4 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 2 }} |-
{{- $.Files.Get $path | nindent 4 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 2 }} |-
{{- $.Files.Get $path | nindent 4 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-patches
namespace: {{ $namespace }}
data:
{{- print "webhook_in_clusterresourcebindings.yaml: " | nindent 2 }} |-
{{- include "karmada.crd.patch.webhook.clusterresourcebinding" . | nindent 4 }}
{{- print "webhook_in_resourcebindings.yaml: " | nindent 2 }} |-
{{- include "karmada.crd.patch.webhook.resourcebinding" . | nindent 4 }}
---
{{- end }}
apiVersion: batch/v1
kind: Job
metadata:
@ -105,25 +51,50 @@ spec:
kubectl apply -f /static-resources --kubeconfig /etc/kubeconfig
EOF
volumeMounts:
- name: {{ $name }}-crds-bases
mountPath: /crds/bases
- name: {{ $name }}-crds-kustomization
mountPath: /crds
- name: {{ $name }}-crds-patches
mountPath: /crds/patches
- name: {{ $name }}-crds
mountPath: /crds
- name: {{ $name }}-crds-autoscaling-bases
mountPath: /crds/bases/autoscaling
- name: {{ $name }}-crds-config-bases
mountPath: /crds/bases/config
- name: {{ $name }}-crds-multicluster-bases
mountPath: /crds/bases/multicluster
- name: {{ $name }}-crds-networking-bases
mountPath: /crds/bases/networking
- name: {{ $name }}-crds-policy-bases
mountPath: /crds/bases/policy
- name: {{ $name }}-crds-work-bases
mountPath: /crds/bases/work
- name: {{ $name }}-static-resources
mountPath: /static-resources
{{ include "karmada.kubeconfig.volumeMount" . | nindent 10 }}
volumes:
- name: {{ $name }}-crds-bases
- name: {{ $name }}-crds-kustomization
configMap:
name: {{ $name }}-crds-bases
name: {{ $name }}-crds-kustomization
- name: {{ $name }}-crds-patches
configMap:
name: {{ $name }}-crds-patches
- name: {{ $name }}-crds
- name: {{ $name }}-crds-autoscaling-bases
configMap:
name: {{ $name }}-crds
name: {{ $name }}-crds-autoscaling-bases
- name: {{ $name }}-crds-config-bases
configMap:
name: {{ $name }}-crds-config-bases
- name: {{ $name }}-crds-multicluster-bases
configMap:
name: {{ $name }}-crds-multicluster-bases
- name: {{ $name }}-crds-networking-bases
configMap:
name: {{ $name }}-crds-networking-bases
- name: {{ $name }}-crds-policy-bases
configMap:
name: {{ $name }}-crds-policy-bases
- name: {{ $name }}-crds-work-bases
configMap:
name: {{ $name }}-crds-work-bases
- name: {{ $name }}-static-resources
configMap:
name: {{ $name }}-static-resources

View File

@ -88,26 +88,25 @@ data:
{{- include "karmada.proxyRbac" . | nindent 8 }}
{{- print "bootstrap-token-configuration.yaml: " | nindent 6 }} |-
{{- include "karmada.bootstrapToken.configuration" . | nindent 8 }}
crds-configmaps.yaml: |-
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-kustomization-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds
name: {{ $name }}-crds-kustomization
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
crds-bases-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/**")}}
{{ range $path, $bytes := .Files.Glob (printf "_crds/kustomization.yaml")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
@ -124,6 +123,144 @@ data:
{{- print "webhook_in_resourcebindings.yaml: " | nindent 6 }} |-
{{- include "karmada.crd.patch.webhook.resourcebinding" . | nindent 8 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-autoscaling-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-autoscaling-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-autoscaling-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/autoscaling/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-config-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-config-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-config-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/config/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-multicluster-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-multicluster-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-multicluster-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/multicluster/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-networking-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-networking-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-networking-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/networking/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-policy-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-policy-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-policy-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/policy/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-work-bases-config
namespace: {{ $namespace }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "2"
data:
crds-bases-work-configmaps.yaml: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $name }}-crds-work-bases
namespace: {{ $namespace }}
data:
{{ range $path, $bytes := .Files.Glob (printf "_crds/bases/work/**")}}
{{ $name := base $path }}
{{- (printf "%s: " $name) | nindent 6 }} |-
{{- $.Files.Get $path | nindent 8 }}
{{ end }}
---
apiVersion: batch/v1
kind: Job
@ -171,6 +308,13 @@ spec:
mkdir -p /opt/configs
mkdir -p /opt/certs
cp -r -L /opt/mount/* /opt/configs/
cp -r -L /opt/crds/* /opt/configs/
cp -r -L /opt/crds-autoscaling-base/* /opt/configs/
cp -r -L /opt/crds-config-base/* /opt/configs/
cp -r -L /opt/crds-multicluster-base/* /opt/configs/
cp -r -L /opt/crds-networking-base/* /opt/configs/
cp -r -L /opt/crds-policy-base/* /opt/configs/
cp -r -L /opt/crds-work-base/* /opt/configs/
openssl req -x509 -sha256 -new -nodes -days 365 -newkey rsa:2048 -keyout "/opt/certs/server-ca.key" -out "/opt/certs/server-ca.crt" -subj "/C=xx/ST=x/L=x/O=x/OU=x/CN=ca/emailAddress=x/"
openssl req -x509 -sha256 -new -nodes -days 365 -newkey rsa:2048 -keyout "/opt/certs/front-proxy-ca.key" -out "/opt/certs/front-proxy-ca.crt" -subj "/C=xx/ST=x/L=x/O=x/OU=x/CN=ca/emailAddress=x/"
echo '{"signing":{"default":{"expiry":{{ printf `"%s"` .Values.certs.auto.expiry }},"usages":["signing","key encipherment","client auth","server auth"]}}}' > "/opt/certs/server-ca-config.json"
@ -202,6 +346,20 @@ spec:
volumeMounts:
- name: mount
mountPath: /opt/mount
- name: crds
mountPath: /opt/crds
- name: crds-autoscaling-base
mountPath: /opt/crds-autoscaling-base
- name: crds-config-base
mountPath: /opt/crds-config-base
- name: crds-multicluster-base
mountPath: /opt/crds-multicluster-base
- name: crds-networking-base
mountPath: /opt/crds-networking-base
- name: crds-policy-base
mountPath: /opt/crds-policy-base
- name: crds-work-base
mountPath: /opt/crds-work-base
- name: configs
mountPath: /opt/configs
containers:
@ -226,6 +384,27 @@ spec:
- name: mount
configMap:
name: {{ $name }}-config
- name: crds
configMap:
name: {{ $name }}-crds-config
- name: crds-autoscaling-base
configMap:
name: {{ $name }}-crds-autoscaling-bases-config
- name: crds-config-base
configMap:
name: {{ $name }}-crds-config-bases-config
- name: crds-multicluster-base
configMap:
name: {{ $name }}-crds-multicluster-bases-config
- name: crds-networking-base
configMap:
name: {{ $name }}-crds-networking-bases-config
- name: crds-policy-base
configMap:
name: {{ $name }}-crds-policy-bases-config
- name: crds-work-base
configMap:
name: {{ $name }}-crds-work-bases-config
- name: configs
emptyDir: {}

View File

@ -13,10 +13,10 @@ echo "Generating with controller-gen"
util::install_tools ${CONTROLLER_GEN_PKG} ${CONTROLLER_GEN_VER} >/dev/null 2>&1
# Unify the crds used by helm chart and the installation scripts
controller-gen crd paths=./pkg/apis/config/... output:crd:dir=./charts/karmada/_crds/bases
controller-gen crd paths=./pkg/apis/policy/... output:crd:dir=./charts/karmada/_crds/bases
controller-gen crd paths=./pkg/apis/work/... output:crd:dir=./charts/karmada/_crds/bases
controller-gen crd paths=./pkg/apis/autoscaling/... output:crd:dir=./charts/karmada/_crds/bases
controller-gen crd paths=./pkg/apis/networking/... output:crd:dir=./charts/karmada/_crds/bases
controller-gen crd paths=./pkg/apis/config/... output:crd:dir=./charts/karmada/_crds/bases/config
controller-gen crd paths=./pkg/apis/policy/... output:crd:dir=./charts/karmada/_crds/bases/policy
controller-gen crd paths=./pkg/apis/work/... output:crd:dir=./charts/karmada/_crds/bases/work
controller-gen crd paths=./pkg/apis/autoscaling/... output:crd:dir=./charts/karmada/_crds/bases/autoscaling
controller-gen crd paths=./pkg/apis/networking/... output:crd:dir=./charts/karmada/_crds/bases/networking
controller-gen crd paths=./examples/customresourceinterpreter/apis/... output:crd:dir=./examples/customresourceinterpreter/apis/
controller-gen crd paths=./operator/pkg/apis/operator/... output:crd:dir=./charts/karmada-operator/crds