Dans helm, une carte peut être dépendante d'une autre carte. Par exemple, une application WordPress nécessite une base de données pour commencer à fonctionner. Dans helm, nous pouvons déployer WordPress dans le cadre du graphique parent et MySQL ou toute autre application requise en tant que dépendance du graphique parent.
Les chartes Helm stockent leurs dépendances dans 'charts/'. Il existe deux manières différentes d'ajouter des graphiques de dépendance aux graphiques parents :
Avant de lister les dépendances dans le fichier Chart.yaml , Par défaut , le fichier Chart.yaml ressemble à ceci :
# Chart.yaml
apiVersion: v2
name: webserver
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"
dependencies:
- name: mysql
version: "9.3.4"
repository: "https://charts.bitnami.com/bitnami"
# Chart.yaml
apiVersion: v2
name: webserver
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"
dependencies:
- name: mysql
version: "9.3.4"
repository: "https://charts.bitnami.com/bitnami"
helm dependency update [CHART]
>> helm dependency update ~/webserver
Le Chart.lockfichier répertorie les versions exactes des dépendances immédiates et de leurs dépendances, etc.
Au lieu de définir une version exacte d'un graphique, nous pouvons définir une plage de versions. Helm nous permet de définir des plages de versions de différentes manières.
nous pouvons afficher toutes les versions disponibles d'un graphique à l'aide de la commande suivante :
helm search repo [CHART] --versions
>> helm search repo mysql --versions
version: 1.2 - 1.4.5qui sont équivalents à>= 1.2 <= 1.4.5
dependencies:
- name: mysql
version: 9.0.0 - 9.9.9
repository: "https://charts.bitnami.com/bitnami"
● Comparaisons de base
Nous pouvons également utiliser des opérateurs de comparaison de base pour définir la version.
version: "= 9.4.1"
version: "!= 9.4.1"
version: "> 9.4.1"
version: "< 9.4.1"
version: ">= 9.4.1"
version: "<= 9.4.1"
version: ">= 9.4.1 and < 10.0.0"
^1.2.3 is equivalent to >= 1.2.3, < 2.0.0
^1.2.x is equivalent to >= 1.2.0, < 2.0.0 # x as a placeholder
^2.3 is equivalent to >= 2.3, < 3
^2.x is equivalent to >= 2.0.0, < 3 # x as a placeholder
^0 is equivalent to >= 0.0.0, < 1.0.0
~1.3.2 is equivalent to >= 1.3.2, < 1.4.0
~3.4 is equivalent to >= 3.4, < 3.5
~3 is equivalent to >= 3, < 4
Selon les besoins de l'utilisateur, une dépendance peut être activée ou désactivée. Si une dépendance est désactivée, lors de l'installation d'un graphique, la dépendance correspondante sera ignorée.
Il existe plusieurs façons d'y parvenir. En utilisant des champs de condition ou des champs de balises.
●Utilisation de la condition
Nous pouvons définir un champ de condition tout en définissant une dépendance à l'intérieur du fichier parentChart/Charts.yaml .
# parentChart/Charts.yaml
dependencies:
- name: mysql
version: "9.3.4"
repository: "https://charts.bitnami.com/bitnami"
condition: mysql.enabled
# parentchart/values.yaml
...
...
mysql:
enabled: false
●Utilisation de balises
Supposons qu'il existe plusieurs dépendances définies dans le fichier Charts.yaml . Pour l'activer ou le désactiver selon nos besoins, nous devons faire quelque chose de similaire à ceci :
# parentchart/Charts.yaml
dependencies:
- name: mysql
version: "9.3.4"
repository: https://charts.bitnami.com/bitnami
condition: mysql.enabled
- name: mongodb
version: 13.3.0
repository: https://charts.bitnami.com/bitnami
condition: mongodb.enabled
# parentchart/values.yaml
....
....
mysql:
enabled: true
mongodb
enabled: false
Tout d'abord, voyons comment définir des balises dans le fichier values.yaml du parent :
# parentchart/values.yaml
...
...
tags:
enabled: false
# parentchart/Charts.yaml
dependencies:
- name: mysql
version: "9.3.4"
repository: https://charts.bitnami.com/bitnami
- name: mongodb
version: 13.3.0
repository: https://charts.bitnami.com/bitnami
tags:
- enabled
Nous pouvons lister toutes les dépendances pour un graphique donné.
helm dependency list [CHART]
>> helm dependency list ~/webserver/
--------------------------------------------------------------
NAME VERSION REPOSITORY STATUS
mysql 9.3.4 https://charts.bitnami.com/bitnami ok
mongodb 2.0.3 https://charts.bitnami.com/bitnami missing
Si vous avez trouvé cet article utile, n'oubliez pas d'appuyer sur les boutons Suivre et Applaudir pour m'aider à écrire d'autres articles comme celui-ci. Merci
Helm — En action
Helm — Commandes avancées
Helm — Créer votre premier graphique
Helm — Modèle d'actions, de fonctions et de pipelines
Helm — Contrôle de flux
Helm — Variables
Helm — Modèle nommé
Helm — Dépendances
Merci de faire partie de notre communauté ! Avant que tu partes:
Pour éviter toute ambiguïté, les termes suivants seront utilisés ; Authentificateur ; Le téléphone mobile utilisé pour effectuer la connexion au site Web ; Le site Web ou l'application que l'utilisateur utilise pour effectuer la demande de connexion au service ; Le fournisseur fournissant le service donné, par exemple
Quand tu grandis, on a tendance à te dire que le monde est comme il est et que ta vie est juste de vivre ta vie à l'intérieur du monde, sans jamais risquer ta vie, juste suivre un chemin tracé et mourir à la fin, et essayer de ne pas cogner trop les murs. Mais c'est une vie très limitée.
Dans le monde interconnecté d'aujourd'hui, la menace des cyberattaques est plus répandue que jamais. Les cybercriminels et les acteurs des États-nations cherchent constamment à exploiter les vulnérabilités et à voler des données précieuses, ce qui représente un risque important pour les organisations de toutes tailles.
Combien de fois avez-vous jeté une bouteille en plastique, un bocal en verre, une canette en aluminium ou un paquet d'énergie verte sans réfléchir à deux fois ? Combien de fois avez-vous souhaité pouvoir obtenir quelque chose en échange de leur recyclage ? Si vous êtes comme la plupart des gens, la réponse est probablement plusieurs fois. Le recyclage est souvent perçu comme un tracas, une corvée ou un devoir qui n'apporte aucun bénéfice immédiat ou tangible.
[Alerte de déclenchement : cet essai comprend des captures d'écran de personnes faisant l'éloge du meurtrier de Jordan Neely.] Les responsables de l'application des lois ont finalement - et peut-être à contrecœur - inculpé Daniel Penny, l'homme qui a étouffé Jordan Neely jusqu'à sa mort, pour cet homicide.
Ça me frappe tout à coup, comme c'est si souvent le cas C'est à nouveau le milieu du chemin <Non, pas celui du Pacifique, toi marron, celui du carnaval> Chaque gros titre fort… ..