Я пытаюсь упорядочить свои диаграммы и перенести все initContainers
в помощник с именем chart _scripts.tlp .
У меня есть initContainers
шаг в proxy-deploy.yaml , который ожидает, пока моя служба брокера инициализируется следующим образом:
# This init container will wait for at least one broker to be ready before proceeding
# with deploying the rest of the proxy service
- name: wait-broker-ready
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command: ["bash", "-c"]
args:
- >-
for i in {0..10}; do
broker_pods="$(nslookup -timeout=10 {{ template "service.fullname" . }}-{{ .Values.broker.component }} | grep Name | wc -l)"
if [[ ${broker_pods} -ge 1 ]]; then
break
fi
sleep 30;
done;
Я пытаюсь переписать его так:
# This init container will wait for at least one broker to be ready before proceeding
# with deploying the rest of the proxy service
- name: wait-broker-ready
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command: ["bash", "-c"]
args:
- >-
{{ template "service.waitBrokerReady"}}
У меня есть следующее шаблон имен _scripts.tlp :
{{/*
Wait until at least one broker instances is initialized
*/}}
{{ define "service.waitBrokerReady" }}
for i in {0..10}; do
broker_pods="$(nslookup -timeout=10 {{ template "service.fullname" . }}-{{ .Values.broker.component }} | grep Name | wc -l)"
if [[ ${broker_pods} -ge 1 ]]; then
break
fi
sleep 30;
done;
{{- end }}
К сожалению, тот факт, что это многострочная команда и есть разграничения пробелов, я вижу error converting YAML to JSON: yaml
.
Я пробовал несколько вариантов с printf
, но не уверен, как передать вложенные шаблоны и часто вижу Error: parse error at (service/templates/_functions.tpl:6): "-p" in command
.