J'installe postgres en tant que dépendance dans mon diagramme de barre et j'ai besoin de récupérer les détails de connexion.

Les URI de connexion Postgres dans kubernetes sont de la forme: postgres://username:password@servicename.namespace.svc.cluster.local:port/dbname

Les username, password, namespace, port et dbname sont tous facilement accessibles via .Values.postgresql.... et .Release.Namespace, mais le nom de service est initialisé à l'aide du sous-diagramme modèle common.names.fullname.

L'accès aux modèles de sous-graphiques n'est étonnamment pas une chose, et ne fonctionnerait probablement pas de toute façon en raison de les changements de contexte.

Quelle est la manière simple de configurer mon application pour accéder à la base de données?

0
I'll Eat My Hat 3 févr. 2021 à 21:50

1 réponse

Meilleure réponse

Je me contente généralement d'observer que le sous-diagramme obéit à la convention Helm typique de nommer ses objets {{ .Release.Name }}-{{ .Chart.Name }}. Si le sous-diagramme utilise cette convention et que j'obtiens la base de données à partir d'un sous-diagramme nommé postgresql, je peux coder en dur cette valeur dans le code de mon modèle:

- name: PGHOST
  value: '{{ .Release.Name }}-postgresql'

Mon expérience a généralement été que les graphiques Bitnami (et les anciens graphiques stable) ont été assez bons pour l'utilisation du versionnage sémantique, donc si ce nom change, la version principale du graphique changera.

1
David Maze 5 févr. 2021 à 12:29