Giriş
templates dizinined "_" underscore karakteri ile başlayan bir dosyaya yazılır. Named template iki şekilde kendi dosyamıza dahil edilebilir
1. template 2. include
Named Templates define satırı ile başlar ve end satırı ile biter
Örnek
Şöyle yaparız
# filename: _helpers.tpl{{/*Common labels*/}}{{- define "webserver.labels" -}}app: nginxgenerator: helm{{- end }}
template kullanımı - Tercih Etmeyin
template içinde
1. scope kullanamayız
2. template'ı pipeline ile kullanamayız
Örnek
Şöyle yaparız
apiVersion: apps/v1
kind: Deployment
metadata:
name: webserver-deployment
labels:
{{- template "webserver.labels" }}include kullanımı - Tercih Edin
Örnek
Elimizde şöyle iki template olsun
{{/* Common labels */}} {{- define "webserver.labels" -}} {{- include "webserver.selectorLabels" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end }} {{/* Selector labels */}} {{- define "webserver.selectorLabels" -}} app: {{ .Chart.Name }} {{- end }}
Kullanmak için şöyle yaparız
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
labels:
{{- include "webserver.labels" . | nindent 4 }}
spec:
replicas: 3
selector:
matchLabels:
{{- include "webserver.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "webserver.selectorLabels" . | nindent 8 }}
spec:
containers:
- name: {{ .Chart.Name }}
image: nginx:latest
ports:
- containerPort: 80>> helm template ~/webserver
---------------------------------------------
# Source: webserver/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: webserver
labels:
app: webserver
app.kubernetes.io/managed-by: Helm
spec:
replicas: 3
selector:
matchLabels:
app: webserver
template:
metadata:
labels:
app: webserver
spec:
containers:
- name: webserver
image: nginx:latest
ports:
- containerPort: 80
Hiç yorum yok:
Yorum Gönder