Для этого решения вам понадобится шаблонный слой, например Kustomize , HELM и т. Д.
Или вы можете использовать файл окружения в качестве источника перед развертыванием файлов yaml, как показано ниже
Ваш deploy.yaml выглядит следующим образом:
spec:
template:
spec:
serviceAccountName: {{service_account}}
restartPolicy: "Always"
initContainers:
- name: vault-init
image: {{init_container_image}}
imagePullPolicy: Always
containers:
- name: {{SERVICE_NAME}}
image: {{main_container_image}}
ваш env.file выглядит так:
service_account="some_account"
init_container_image="some_image"
SERVICE_NAME="service_name"
Затем запустите
oc patch dc/action-msa -p \
"$(source env.file && cat deployment.yml | \
sed "s/{{service_account}}/service_account/g"| \
sed "s/{{init_container_image}}/init_container_image/g"| \
sed "s/{{SERVICE_NAME}}/SERVICE_NAME/g")" --param service_account=msa-service-account
Надеюсь, это поможет