¿Cómo puedo agregar un conjunto de valores al comando de actualización de Helm en un script de PowerShell con una variable?
Tengo un script de powershell que toma mi variable y la entrega a mi comando de actualización de Helm:
[CmdLetBinding()]
param
(
[Parameter(Mandatory = $false)]
$HELM_SET
)
helm upgrade --install myrelease -n dev my_service.tgz $HELM_SET
Mi variable HELM_SET contiene:
--set config.vali=x --set config.spring=v1
Pero, Helm indica después de la actualización:
Error: unknown flag: --set config.vali
helm.go:88: [debug] unknown flag: --set config.vali
Si agrego “–set” a:
helm upgrade --install myrelease -n dev my_service.tgz --set $HELM_SET
y mi variable HELM_SET contiene:
config.vali=x --set config.spring=v1
Después de la actualización, recibo que mi variable config:vali es:
x --set config.spring=v1
¿Alguien puede explicarme qué estoy haciendo mal?
davy.ai
El problema aquí es que la bandera
--set
en la variable$HELM_SET
está siendo interpretada como un argumento de línea de comandos separado por Helm, en lugar de ser incluida como parte del valorconfig.vali=x
. Esto se debe a que$HELM_SET
está siendo tratado como un solo argumento de cadena, y Helm no reconoce la bandera--set
en este contexto.Para resolver este problema, debes modificar el script de PowerShell para dividir la variable
$HELM_SET
en argumentos separados antes de pasarla al comando de Helm. Por ejemplo:Esto asegurará que la bandera
--set
sea correctamente reconocida por Helm como parte del valorconfig.vali=x
.