Helm agrega el nombre de la versión a los gráficos dependientes

CorePress2024-01-25  12

Tengo pocas dependencias como esta

dependencies:
- name: some-chart
  version: "1.2.3"
  repository: "file://../some-chart"

Y instalo mi gráfico así

helm install my-chart .

Sin embargo, agrega gráficos dependientes de mi nombre de versión. Entonces, por ejemplo, el pod del servidor 0 se implementa así

my-chart-some-chart-server-0

Si solo instalo el gráfico dependiente por sí solo, por ejemplo helm install some-chart ../some-chart, implementa 'servidor-0' así

some-chart-server-0

¿Existe alguna manera de implementar gráficos dependientes sin agregar el nombre de la versión como se esperaba?



------------------------------------

Ha pasado algún tiempo pero esta puede ser información importante para otros usuarios -

Como ha explicado David, esto no se puede cambiar con el timón y vienede las plantillas.

Si puedes encontrar lo siguiente en las plantillas

{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}

entonces puedes usar fullnameOverride según tus necesidades.

Puedes anular los valores de la dependencia agregando en el archivo value.yaml del padre (my-chart) lo siguiente:

some-chart:
 fullnameOverride: some-chart

Como resultado, el nombre del gráfico principal (mi-gráfico) se eliminará de los nombres de los recursos y verá su pod de servidor-0 como algún-servidor-de-gráficos-0 en lugar de como mi-gráfico-algunos. -chart-server-0.



------------------------------------

Esta convención de nomenclatura forma parte de las plantillas. Helm no lo agrega por sí solo y no puedes cambiarlo.sin cambiar las plantillas (ni realizar un posprocesamiento complejo).

Si ejecuta helm create, creará una gran cantidad de infraestructura para usted. Cosas como la implementación generalmente tienen nombre

name: {{ include "<CHARTNAME>.fullname" . }}

Esa plantilla, a su vez, también forma parte del archivo _helpers.tpl generado (ligeramente recortado)

{{- define "<CHARTNAME>.fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}

Entonces, si instalas some-chart ../some-chart, el nombre de la versión (el primer argumento de some-chart) coincide con el nombre del gráfico y obtendrás el mensaje "corto" forma de solo el nombre de la versión; pero si instala other-chart ../some-chart, obtendrá el formato de lanzamiento-nombre-nombre-sufijo del gráfico.

Esto no tiene nada que ver con que sea una dependencia, solo el nombre que estás usando para instalar la versión. Comparar:

helm install some-chart ../some-chart  # using its "normal" name
helm install foo ../some-chart         # using some other name
helm install my-chart .                # "normal" name of parent, not dependency
helm install some-chart .              # "normal" name of dependency, not parent

Este último caso debería ser interesante: si su gráfico principal utilizaEs la misma convención, en realidad verá nombres como algún-gráfico-mi-implementación-de-gráfico, pero la dependencia de algún-gráfico verá que los nombres de la versión y del gráfico coinciden, por lo que dentro de esa dependencia solo verá algún-gráfico-foo .

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare