mes graphiques ont des dépendances elasticsearch et mongdb, et dans mes graphiques, la structure comme celle-ci:
$ helm version Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
mais lorsque j'essaye d'installer mon graphique, cela dit:
Erreur: trouvée dans requirements.yaml, mais manquante dans les graphiques / répertoire: elasticsearch, mongodb
et quand j'exécute helm dep ls, le statut est manquant
$ helm dep list NAME VERSION REPOSITORY STATUS elasticsearch 6.5.1 file://dependency_charts/elasticsearch missing mongodb 4.0.3 file://dependency_charts/mongodb missing
la version est appVersion, et j'ai également changé la version en version graphique, cela ne fonctionne pas.
ceci est le document officiel: https://github.com/helm/helm/blob/master/docs/helm /helm_dependency.md https://docs.helm.sh/chart_best_practices/#repository-urls p>
ceci est la version de helm
âââ [-rw-rw-r--] Chart.yaml âââ [drwxrwxr-x] dependency_charts â  âââ [drwxrwxr-x] elasticsearch â  âââ [drwxrwxr-x] mongodb âââ [-rw-rw-r--] deploy.sh âââ [-rw-rw-r--] requirements.yaml âââ [-rw-rw-r--] values.yaml âââ [drwxrwxr-x] templates â  âââ [-rw-rw-r--] proj-deploy.yaml â  âââ [-rw-rw-r--] proj-svc.yaml
Et je peux mettre ces graphiques dans un dossier charts
, mais si je fais cela, helm installez mongodb et elasticsearch dans les mêmes graphiques, ce n'est pas prévu, ce à quoi je m'attends est sous le même espace de noms a trois graphiques: myproj, elasticsearch, mongodb.
Quelqu'un a une idée de ce que je fais de mal? Merci.
4 Réponses :
... ce que j'attends sous le même espace de noms a trois graphiques: myproj, elasticsearch, mongodb.
Vous devez exécuter helm install
trois fois pour obtenir cet effet.
Le mécanisme requirements.yaml
oblige Helm à installer plusieurs sous-graphiques dans une seule version de Helm. helm list
afficherait simplement myproj
, mais en interne, il aurait également les ressources Kubernetes pour les autres composants. Si vous kubectl get service
, vous verrez des objets Service comme insolite-animal-myproj
et insolite-animal-mongodb
, gérés par le même Libération de la barre. Si vous barre un animal inhabituel
, les trois composants seront supprimés ensemble.
Si c'est le comportement que vous souhaitez, alors le message d'erreur que vous avez reçu signifie ce qu'il dit: les graphiques locaux doivent être dans un sous-répertoire nommé exactement charts
. L'exécution de helm dep up
ou helm dep build
les copiera ici.
Merci d'explication, j'ai compris que l'installation de la barre ne peut pas installer plusieurs graphiques dans le même espace de noms. Et comme vous l'avez dit, après avoir installé myproj, le nom du service et le nom du pod ont le préfixe inhabituel-animal-
. Et vous avez mentionné que les graphiques locaux doivent se trouver dans un sous-répertoire nommé exactement charts
, mais pourquoi le document prend repository: "file: //../dependency_chart/nginx"
comme exemple , est-ce une faute de frappe? Et après avoir modifié requirements.yaml en repository: "file: //./charts/elasticsearch"
, les services de barre affichent l'état décompressé
, n'est-ce pas?
Vous devez exécuter helm dep update
. Cela placera les sous-graphiques dans le dossier ./charts et créera le fichier ./requirements.lock. Ensuite, vous pouvez installer.
helm dep update only works when the repo list is empty. Check helm repo list , if this return something then local dependencies will not resolve. Try removing the repos using command helm repo remove REPO_NAME
helm template <path_to_chart.yaml>
utilisez requirements.yaml et pour elasticsearch et mongodb, ils existent déjà sous forme de graphiques
@ c4f4t0r, merci votre réponse, actuellement, je ne veux pas extraire de graphiques d'un environnement extérieur, je veux utiliser des graphiques locaux. Avez-vous des idées à ce sujet?
désolé pour le lien externe docs.helm.sh/developing_charts
@ c4f4t0r, merci, j'ai regardé cette page, et le document officiel peut également être trouvé ici docs.helm.sh/chart_best_practices/#repository-urls , donc j'essaye de trouver ce qui ne va pas dans mon opération