Я пытаюсь использовать константу в скаффолде и получить к ней доступ в профиле скаффолда:
пример export SOME_IP=199.99.99.99 && skaffold run -p dev
скаффолд.yaml
...
deploy:
helm:
flags:
global:
- "--debug"
releases:
- name: ***
chartPath: ***
imageStrategy:
helm:
explicitRegistry: true
createNamespace: true
namespace: "***"
setValueTemplates:
SKAFFOLD_SOME_IP: "{{.SOME_IP}}"
а в профиле dev.yaml мне нужно как-то получить к нему доступ,
что-то вроде:{{ .Template.SKAFFOLD_SOME_IP }}
и должно отображаться как 199.99.99.99
Я пытался использовать поля envTemplate и setValueTemplates скаффолда, но не смог добиться успеха и не смог найти ни одного примера в Интернете.
Чтобы использовать переменную SKAFFOLD_SOME_IP
, которую вы установили в skaffold.yaml, вы можете написать диаграмму template
для развертывания Kubernetes следующим образом:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
labels:
app: {{ .Chart.Name }}
spec:
selector:
matchLabels:
app: {{ .Chart.Name }}
replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
app: {{ .Chart.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
image: {{ .Values.image }}
env:
- name: SKAFFOLD_SOME_IP
value: "{{ .Values.SKAFFOLD_SOME_IP }}"
Это создаст переменную среды SKAFFOLD_SOME_IP
для модулей Kubernetes. И вы можете получить к нему доступ с помощью «go», например, так:
os.Getenv("SKAFFOLD_SOME_IP")
Спасибо за ответ, но это не решает проблему. Область действия — доступ к константе в профиле скаффолда.
В основном нашел решение, которое мне действительно не нравится, но оно работает:
в профиле разработчик: значения.dev.yaml я добавил заполнитель
_anchors_:
- &_IPAddr_01 "<IPAddr_01_TAG>" # will be replaced with SOME_IP
<IP-адрес_01_TAG> будет заменен на const SOME_IP, который станет 199.99.99.99 при запуске скаффолда.
Теперь для запуска скаффолда я сделаю:
export SOME_IP=199.99.99.99
sed -i "s/<IPAddr_01_TAG>/$SOME_IP/g" values/values.dev.yaml
skaffold run -p dev
поэтому после приведенного выше sed в профиле разработчик: значения.dev.yaml мы увидим константу SOME_IP вместо заполнителя.
_anchors_:
- &_IPAddr_01 "199.99.99.99"
Привет Бинзари Каталин! Как я понимаю, вы хотите использовать эту переменную в шаблоне kubernetes helm?