es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  , , ,

Answer

  1. Avatar for 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 valor config.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:

    # Dividir la variable HELM_SET en argumentos separados
    $helmSetArgs = $HELM_SET.Split(' ')
    
    # Pasar los argumentos al comando de Helm
    helm upgrade --install myrelease -n dev my_service.tgz $helmSetArgs
    

    Esto asegurará que la bandera --set sea correctamente reconocida por Helm como parte del valor config.vali=x.

Comments are closed.