Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Création d’applications

Pour un guide complet sur le développement de graphiques, consultez le Guide du développeur de modèles de graphiques dans la documentation officielle de Helm.

Types de graphiques

Rancher prend en charge deux types différents de graphiques : les graphiques Helm et les graphiques Rancher.

Les Helm charts

Les graphiques Helm natifs incluent une application ainsi que d’autres logiciels nécessaires à son fonctionnement. Lors du déploiement de graphiques Helm natifs, vous pouvez fournir les valeurs des paramètres du graphique dans un éditeur YAML.

Graphiques Rancher

Les graphiques Rancher sont des graphiques Helm natifs avec deux fichiers qui améliorent l’expérience utilisateur : app-readme.md et questions.yaml. Lisez-en plus dans Fichiers supplémentaires pour les graphiques Rancher.

Les graphiques Rancher ajoutent des descriptions de graphiques simplifiées et des formulaires de configuration pour faciliter le déploiement de l’application. Les utilisateurs de Rancher n’ont pas besoin de parcourir toute la liste des variables Helm pour comprendre comment lancer une application.

Structure du répertoire des graphiques

Vous pouvez fournir des graphiques Helm dans un dépôt Helm standard basé sur HTTP. Pour plus d’informations, consultez le Guide du dépôt de graphiques dans la documentation officielle de Helm.

Alternativement, vous pouvez organiser vos graphiques dans un dépôt Git et l’ajouter directement au marché des applications.

Le tableau suivant démontre la structure du répertoire pour un dépôt Git. Le répertoire charts est le répertoire de niveau supérieur sous la base du dépôt. Ajouter le dépôt à Rancher exposera tous les graphiques qu’il contient. Les fichiers questions.yaml, README.md et requirements.yml sont spécifiques aux graphiques Rancher, mais sont optionnels pour la personnalisation des graphiques.

<Repository-Base>/
 │
 ├── charts/
 │   ├── <Application Name>/      # This directory name will be surfaced in the Rancher UI as the chart name
 │   │   ├── <App Version>/      # Each directory at this level provides different app versions that will be selectable within the chart in the Rancher UI
 │   │   │   ├── Chart.yaml      # Required Helm chart information file.
 │   │   │   ├── questions.yaml      # Form questions displayed within the Rancher UI. Questions display in Configuration Options.*
 │   │   │   ├── README.md         # Optional: Helm Readme file displayed within Rancher UI. This text displays in Detailed Descriptions.
 │   │   │   ├── requirements.yml  # Optional: YAML file listing dependencies for the chart.
 │   │   │   ├── values.yml        # Default configuration values for the chart.
 │   │   │   ├── templates/        # Directory containing templates that, when combined with values.yml, generates Kubernetes YAML.

Fichiers supplémentaires pour les graphiques Rancher

Avant de créer votre propre catalogue personnalisé, vous devez avoir une compréhension de base de la façon dont un graphique Rancher diffère d’un graphique Helm natif. Les graphiques Rancher diffèrent légèrement des graphiques Helm dans leur structure de répertoires. Les graphiques Rancher incluent deux fichiers que les graphiques Helm n’ont pas.

  • app-readme.md

    Un fichier qui fournit un texte descriptif dans l’en-tête de l’interface utilisateur du graphique.

  • questions.yml

    Un fichier qui contient des questions pour un formulaire. Ces questions de formulaire simplifient le déploiement d’un graphique. Sans cela, vous devez configurer le déploiement à l’aide d’une configuration YAML de valeurs, ce qui est plus difficile. Les images suivantes affichent la différence entre un graphique Rancher (qui inclut questions.yml) et un graphique Helm natif (qui ne l’inclut pas).

questions.yml
Figure 1. Graphique Rancher avec questions.yml
values.yaml
Figure 2. Graphique Helm sans questions.yml

Chart.yaml

Annotations

Rancher prend en charge des annotations supplémentaires que vous pouvez ajouter au fichier Chart.yaml. Ces annotations vous permettent de définir des dépendances d’application ou de configurer des valeurs par défaut supplémentaires pour l’interface utilisateur :

Annotation Description Par exemple :

catalog.cattle.io/auto-install

Si défini, installera le graphique spécifié dans la version spécifiée avant d’installer ce graphique

other-chart-name=1.0.0

catalog.cattle.io/display-name

Un nom d’affichage qui doit être affiché dans le marché des applications au lieu du nom du graphique

Nom du graphique

catalog.cattle.io/namespace

Un espace de noms fixe où le graphique doit être déployé. Si défini, cela ne peut pas être modifié par l’utilisateur

fixed-namespace

catalog.cattle.io/release-name

Un nom de version fixe pour l’installation Helm. Si défini, cela ne peut pas être modifié par l’utilisateur

nom-de-version-fixe

catalog.cattle.io/requests-cpu

Montant total d’UC qui doit être non réservé dans le cluster. Si moins d’UC est disponible, un avertissement sera affiché

2000m

catalog.cattle.io/requests-memory

Montant total de mémoire qui doit être non réservé dans le cluster. Si moins de mémoire est disponible, un avertissement sera affiché

2Gi

catalog.cattle.io/os

Restreint le système d’exploitation où ce graphique peut être installé. Valeurs possibles : linux, windows. Par défaut : aucune restriction

linux

Mots-clés

Avec l’option keywords dans le fichier Chart.yaml, il est possible de fournir une liste de catégories pour trier votre application dans l’interface utilisateur de Rancher, comme infrastructure, monitoring et plus.

questions.yml

À l’intérieur du questions.yml, la plupart du contenu sera autour des questions à poser à l’utilisateur final, mais il y a quelques champs supplémentaires qui peuvent être définis dans ce fichier.

Versions minimales/maximales de Rancher

Pour chaque graphique, vous pouvez ajouter la version minimale et/ou maximale de Rancher, ce qui détermine si ce graphique est disponible pour être déployé depuis Rancher.

Bien que les versions de lancement de Rancher soient préfixées par un v, il n’y a pas de préfixe pour la version de lancement lors de l’utilisation de cette option.

rancher_min_version: 2.3.0
rancher_max_version: 2.3.99

Référence de variable de question

Cette référence contient des variables que vous pouvez utiliser dans questions.yml imbriquées sous questions:.

Variable Type Requis Description

Variable.

chaîne

true

Définissez le nom de la variable spécifié dans le fichier values.yml, en utilisant foo.bar pour les objets imbriqués.

label

chaîne

true

Définissez l’étiquette de l’interface utilisateur.

description

chaîne

false

Spécifiez la description de la variable.

type

chaîne

false

Par défaut, utilisez string si non spécifié (les types pris en charge actuellement sont chaîne, multilignes, booléen, int, énum, mot de passe, classe de stockage, nom d’hôte, pvc, secret et cloudcredential).

requis

bool

false

Définissez si la variable est requise ou non (vrai | faux)

valeur par défaut

chaîne

false

Spécifiez la valeur par défaut. Utilisé uniquement s’il n’y a pas de valeur correspondante dans le fichier values.yml.

groupe

chaîne

false

Groupez les questions par valeur d’entrée.

min_length

entier

false

Longueur minimale de caractère.

max_length

entier

false

Longueur maximale de caractère.

min

entier

false

Valeur entière minimale.

max

entier

false

Valeur entière maximale.

options

[]string

false

Spécifiez les options lorsque le type de variable est enum, par exemple : options:
- "ClusterIP"
- "NodePort"
- "LoadBalancer"

valid_chars

chaîne

false

Expression régulière pour la validation des caractères d’entrée.

invalid_chars

chaîne

false

Expression régulière pour la validation des caractères d’entrée invalides.

subquestions

[]subquestion

false

Ajoutez un tableau de sous-questions.

show_if

chaîne

false

Affichez la variable actuelle si la variable conditionnelle est vraie. Par exemple show_if: "serviceType=Nodeport"

show_subquestion_if

chaîne

false

Affichez les sous-questions si c’est vrai ou égal à l’une des options. Par exemple show_subquestion_if: "true"

subquestions[] ne peut pas contenir les clés subquestions ou show_subquestions_if, mais toutes les autres clés du tableau ci-dessus sont prises en charge.