Files
CmiiDeploy/1-outside-deploy/2-helm-chart/charts/backend-app/templates/deployment.yaml
zeaslity 437acbeb63 add
2024-10-30 16:30:51 +08:00

154 lines
6.0 KiB
YAML

{{- $namespace := .Release.Namespace -}}
{{- $scope := $ -}}
{{- range .Values.application.manifest }}
{{- if .enabled -}}
{{- $applicationName := .name | trunc 63 }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $applicationName }}
namespace: {{ $namespace }}
labels:
cmii.type: {{ $.Values.application.type }}
{{- if .modules }}
cmii.modules: {{ .modules }}
{{- end }}
cmii.app: {{ $applicationName }}
helm.sh/chart: {{ include "uavcloud-be-core.chart" $scope }}
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/chart-version: {{ $.Chart.AppVersion | quote }}
app.kubernetes.io/app-version: {{ $.Values.global.image.tag | quote }}
spec:
{{- if not $.Values.autoscaling.enabled }}
replicas: {{ $.Values.replicaCount }}
{{- end }}
strategy:
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
cmii.type: {{ $.Values.application.type }}
cmii.app: {{ $applicationName }}
template:
metadata:
{{- with $.Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
cmii.type: {{ $.Values.application.type }}
cmii.app: {{ $applicationName }}
spec:
{{- if $.Values.global.affinity }}
affinity: {{- include "common.tplvalues.render" (dict "value" $.Values.global.affinity "context" $) | nindent 8 }}
{{- else }}
affinity:
{{- /* podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAffinityPreset "context" $) | nindent 10 -}}*/}}
{{- /* podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAntiAffinityPreset "context" $) | nindent 10 }}*/}}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" $.Values.global.nodeAffinityPreset.type "key" $.Values.global.nodeAffinityPreset.key "values" $.Values.global.nodeAffinityPreset.values) | nindent 10 -}}
{{- end }}
imagePullSecrets:
- name: harborsecret
securityContext:
{{- toYaml $.Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ $applicationName }}
image: "{{ $.Values.global.image.repository }}/{{ $applicationName }}:{{ .tag }}"
imagePullPolicy: {{ $.Values.global.image.pullPolicy }}
env:
- name: K8S_NAMESPACE
value: "{{ $namespace }}"
- name: APPLICATION_NAME
value: "{{ $applicationName }}"
- name: CUST_JAVA_OPTS
value: "{{ $.Values.env.CUST_JAVA_OPTS }}"
- name: NACOS_REGISTRY
value: "{{ $.Values.env.NACOS_REGISTRY }}"
- name: NACOS_DISCOVERY_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: NACOS_DISCOVERY_PORT
value: "8080"
- name: BIZ_CONFIG_GROUP
- name: SYS_CONFIG_GROUP
- name: IMAGE_VERSION
value: {{ .tag }}
- name: NACOS_USERNAME
value: {{ $.Values.env.NACOS_USERNAME | quote }}
- name: NACOS_PASSWORD
value: {{ $.Values.env.NACOS_PASSWORD | quote }}
ports:
- name: pod-port
containerPort: 8080
protocol: TCP
{{- if .config }}
{{- if .config.resources }}
resources:
{{- toYaml .config.resources | nindent 12 }}
{{- end }}
{{- else }}
{{- include "uavcloud-be-core.resources" $scope | nindent 10 }}
{{- end }}
{{- include "uavcloud-be-core.healthProbe" $scope | nindent 10 }}
volumeMounts:
- name: glusterfs-backend-log-volume
mountPath: /cmii/logs
readOnly: false
subPath: {{ $namespace }}/{{ $applicationName }}
{{- if .config }}
{{- if .config.pvc }}
- name: data-cache-volume
mountPath: {{ .config.pvc.cache.path }}
readOnly: false
subPath: {{ $namespace }}/{{ $applicationName }}
{{- end }}
{{- end }}
{{- /*{{- if $.Values.sidecar.proxysql.enabled }}
- name: proxysql
image: "{{ $.Values.global.image.repository | default $.Values.sidecar.proxysql.image.repository }}:{{ $.Values.sidecar.proxysql.image.tag }}"
imagePullPolicy: {{ $.Values.sidecar.proxysql.image.pullPolicy }}
ports:
- name: proxysql
containerPort: {{ $.Values.sidecar.proxysql.containerPort.proxysql }}
protocol: TCP
- name: admin
containerPort: {{ $.Values.sidecar.proxysql.containerPort.admin }}
protocol: TCP
volumeMounts:
- name: proxysql-config
mountPath: /usr/local/bin/probe-proxysql.bash
subPath: probe-proxysql.bash
- name: proxysql-config
mountPath: /etc/proxysql.cnf
subPath: proxysql.cnf
livenessProbe:
exec:
command: ["/bin/bash","/usr/local/bin/probe-proxysql.bash"]
readinessProbe:
exec:
command: ["/bin/bash","/usr/local/bin/probe-proxysql.bash"]
resources:
{{- toYaml $.Values.sidecar.proxysql.resources | nindent 12 }}
{{- end }}*/}}
volumes:
- name: glusterfs-backend-log-volume
persistentVolumeClaim:
claimName: glusterfs-backend-log-pvc
{{- if .config }}
{{- if .config.pvc }}
- name: data-cache-volume
persistentVolumeClaim:
claimName: {{ $applicationName }}-cache
{{- end }}
{{- end }}
{{- /*{{- if $.Values.sidecar.proxysql.enabled }}
- name: proxysql-config
configMap:
name: {{ $.Values.sidecar.proxysql.configmap }}
{{- end }}*/}}
---
{{- end }}
{{- end }}