我的应用程序中有很多cronjob图表,我想制作一个YAML文件常见部分的模板。
我该怎么做?
我尝试在_helpers.tpl
文件中定义模板,但无法使其正常工作。
cronjob.yaml
包含:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: domain
spec:
schedule: "* * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: api
image: {{ template "app.api.image" . }}
imagePullPolicy: {{ .Values.api.image.pullPolicy | quote }}
env:
- name: MYSQL_DB_NAME
value: {{ .Values.mysql.db.name | quote }}
- name: MYSQL_DB_HOST
value: {{ .Values.mysql.db.host | quote }}
- name: MYSQL_DB_USERNAME
value: {{ .Values.mysql.db.username | quote }}
- name: MYSQL_DB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "database" }}
key: db-password
- name: PHPFPM_ENDPOINT
value: /var/run/php/php-fpm.sock
- name: PHPFPM_PM_MAX_CHILDREN
value: {{ .Values.phpfpm.max_childrens | quote }}
- name: CURRENT_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: EXTERNAL_IP
value: {{ .Values.api.externalip }}
ports:
- name: phpfpm
containerPort: 9000
command: ["sh", "-c", "/var/www/html/bin/cake Domain"]
restartPolicy: Never
我想将以- name: api
开头的块通过ports:
分成一个模板,该模板可以包含在我的cronjob.yaml
文件中。