7.3. Configurer des dépôts de cartes Helm personnalisés


Vous pouvez installer les graphiques Helm sur un cluster OpenShift Container Platform en utilisant les méthodes suivantes :

  • Le CLI.
  • La perspective Developer de la console web.

Le site Developer Catalog, dans la perspective Developer de la console Web, affiche les graphiques Helm disponibles dans le cluster. Par défaut, il répertorie les graphiques Helm du dépôt de graphiques Helm de Red Hat OpenShift. Pour obtenir une liste des graphiques, consultez le fichier Red Hat Helm index .

En tant qu'administrateur de cluster, vous pouvez ajouter plusieurs référentiels de diagrammes Helm adaptés au cluster et à l'espace de noms, distincts du référentiel Helm par défaut adapté au cluster, et afficher les diagrammes Helm de ces référentiels sur le site Developer Catalog.

En tant qu'utilisateur normal ou membre d'un projet disposant des autorisations de contrôle d'accès basé sur les rôles (RBAC) appropriées, vous pouvez ajouter plusieurs référentiels de diagrammes Helm dans l'espace de noms, en plus du référentiel Helm par défaut dans le cluster, et afficher les diagrammes Helm de ces référentiels dans le site Developer Catalog.

Dans la perspective Developer de la console web, vous pouvez utiliser la page Helm pour :

  • Créez des versions et des dépôts Helm en utilisant le bouton Create.
  • Créer, mettre à jour ou supprimer un référentiel graphique Helm à l'échelle d'un cluster ou d'un espace de noms.
  • Consultez la liste des référentiels graphiques Helm existants dans l'onglet Référentiels, qui peuvent également être facilement distingués en tant que référentiels de cluster ou d'espace de noms.

7.3.1. Installation d'un diagramme Helm sur un cluster OpenShift Container Platform

Conditions préalables

  • Vous avez un cluster OpenShift Container Platform en cours d'exécution et vous vous y êtes connecté.
  • Vous avez installé Helm.

Procédure

  1. Créer un nouveau projet :

    $ oc new-project vault
    Copy to Clipboard
  2. Ajouter un référentiel de cartes Helm à votre client Helm local :

    $ helm repo add openshift-helm-charts https://charts.openshift.io/
    Copy to Clipboard

    Exemple de sortie

    "openshift-helm-charts" has been added to your repositories
    Copy to Clipboard

  3. Mettre à jour le référentiel :

    $ helm repo update
    Copy to Clipboard
  4. Installer un exemple de chambre forte HashiCorp :

    $ helm install example-vault openshift-helm-charts/hashicorp-vault
    Copy to Clipboard

    Exemple de sortie

    NAME: example-vault
    LAST DEPLOYED: Fri Mar 11 12:02:12 2022
    NAMESPACE: vault
    STATUS: deployed
    REVISION: 1
    NOTES:
    Thank you for installing HashiCorp Vault!
    Copy to Clipboard

  5. Vérifiez que la carte a été installée avec succès :

    $ helm list
    Copy to Clipboard

    Exemple de sortie

    NAME         	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART       	APP VERSION
    example-vault	vault    	1       	2022-03-11 12:02:12.296226673 +0530 IST	deployed	vault-0.19.0	1.9.2
    Copy to Clipboard

7.3.2. Installer les cartes Helm en utilisant la perspective du développeur

Vous pouvez utiliser la perspective Developer de la console Web ou le CLI pour sélectionner et installer un graphique parmi les graphiques Helm répertoriés dans la perspective Developer Catalog. Vous pouvez créer des versions Helm en installant des graphiques Helm et les voir dans la perspective Developer de la console Web.

Conditions préalables

Procédure

Pour créer des versions de Helm à partir des cartes de Helm fournies dans le site Developer Catalog:

  1. Dans la perspective Developer, accédez à la vue Add et sélectionnez un projet. Cliquez ensuite sur l'option Helm Chart pour voir tous les diagrammes de barre dans la vue Developer Catalog.
  2. Sélectionnez un graphique et lisez la description, le README et d'autres détails concernant le graphique.
  3. Cliquez sur Install Helm Chart.

    Figure 7.1. Fiches de pilotage dans le catalogue des développeurs

    odc helm chart devcatalog
  4. Dans la page Install Helm Chart:

    1. Saisissez un nom unique pour la version dans le champ Release Name.
    2. Sélectionnez la version de la carte requise dans la liste déroulante Chart Version.
    3. Configurez votre carte Helm en utilisant le site Form View ou le site YAML View.

      Note

      Lorsque cela est possible, vous pouvez passer de la vue YAML View à la vue Form View. Les données sont conservées lors du passage d'une vue à l'autre.

    4. Cliquez sur Install pour créer un communiqué de presse Helm. Vous serez redirigé vers la vue Topology où la version est affichée. Si le tableau Helm contient des notes de mise à jour, le tableau est présélectionné et le panneau de droite affiche les notes de mise à jour pour cette version.
    5. Voir la nouvelle version de Helm sur la page Helm Releases.

Vous pouvez mettre à niveau, revenir en arrière ou désinstaller une version de Helm en utilisant le bouton Actions sur le panneau latéral ou en cliquant avec le bouton droit de la souris sur une version de Helm.

7.3.3. Utilisation de Helm dans le terminal web

Vous pouvez utiliser Helm en initialisant le terminal Web dans la perspective Developer de la console Web. Pour plus d'informations, voir Utilisation du terminal web.

7.3.4. Créer un graphique Helm personnalisé sur OpenShift Container Platform

Procédure

  1. Créer un nouveau projet :

    $ oc new-project nodejs-ex-k
    Copy to Clipboard
  2. Téléchargez un exemple de graphique Node.js contenant des objets OpenShift Container Platform :

    $ git clone https://github.com/redhat-developer/redhat-helm-charts
    Copy to Clipboard
  3. Allez dans le répertoire contenant l'exemple de tableau :

    $ cd redhat-helm-charts/alpha/nodejs-ex-k/
    Copy to Clipboard
  4. Modifiez le fichier Chart.yaml et ajoutez une description de votre graphique :

    apiVersion: v2 
    1
    
    name: nodejs-ex-k 
    2
    
    description: A Helm chart for OpenShift 
    3
    
    icon: https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.svg 
    4
    
    version: 0.2.1 
    5
    Copy to Clipboard
    1
    La version de l'API de la carte. Il devrait être v2 pour les cartes Helm qui nécessitent au moins Helm 3.
    2
    Le nom de votre graphique.
    3
    La description de votre carte.
    4
    L'URL d'une image à utiliser comme icône.
    5
    La version de votre graphique selon la spécification Semantic Versioning (SemVer) 2.0.0.
  5. Vérifiez que le graphique est correctement formaté :

    $ helm lint
    Copy to Clipboard

    Exemple de sortie

    [INFO] Chart.yaml: icon is recommended
    
    1 chart(s) linted, 0 chart(s) failed
    Copy to Clipboard

  6. Naviguer vers le niveau de répertoire précédent :

    $ cd ..
    Copy to Clipboard
  7. Installer la carte :

    $ helm install nodejs-chart nodejs-ex-k
    Copy to Clipboard
  8. Vérifiez que la carte a été installée avec succès :

    $ helm list
    Copy to Clipboard

    Exemple de sortie

    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
    nodejs-chart nodejs-ex-k 1 2019-12-05 15:06:51.379134163 -0500 EST deployed nodejs-0.1.0  1.16.0
    Copy to Clipboard

7.3.5. Ajouter des dépôts de cartes Helm personnalisés

En tant qu'administrateur de cluster, vous pouvez ajouter des référentiels de graphiques Helm personnalisés à votre cluster et activer l'accès aux graphiques Helm à partir de ces référentiels dans le site Developer Catalog.

Procédure

  1. Pour ajouter un nouveau dépôt de cartes Helm, vous devez ajouter la ressource personnalisée (CR) Helm Chart Repository à votre cluster.

    Exemple de dépôt de cartes de barre CR

    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: <name>
    spec:
     # optional name that might be used by console
     # name: <chart-display-name>
      connectionConfig:
        url: <helm-chart-repository-url>
    Copy to Clipboard

    Par exemple, pour ajouter un référentiel d'échantillons graphiques Azure, exécutez :

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: azure-sample-repo
    spec:
      name: azure-sample-repo
      connectionConfig:
        url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
    EOF
    Copy to Clipboard
  2. Naviguez sur le site Developer Catalog dans la console Web pour vérifier que les cartes Helm du référentiel de cartes sont affichées.

    Par exemple, utilisez le filtre Chart repositories pour rechercher un graphique Helm dans le référentiel.

    Figure 7.2. Filtre sur les référentiels graphiques

    odc helm chart repo filter
    Note

    Si un administrateur de cluster supprime tous les référentiels de cartes, vous ne pouvez pas afficher l'option Helm dans la vue Add, Developer Catalog et dans le panneau de navigation gauche.

7.3.6. Ajout de dépôts de graphiques Helm personnalisés dans l'espace de noms

La définition de ressource personnalisée (CRD) HelmChartRepository pour le référentiel Helm permet aux administrateurs d'ajouter des référentiels Helm en tant que ressources personnalisées. La définition de ressource personnalisée ProjectHelmChartRepository (namespace-scoped) permet aux membres du projet disposant des autorisations de contrôle d'accès basé sur les rôles (RBAC) appropriées de créer des ressources de référentiel Helm de leur choix, mais limitées à leur espace de noms. Ces membres du projet peuvent consulter des graphiques provenant de ressources de dépôt Helm à la fois à l'échelle du cluster et à l'échelle de l'espace de noms.

Note
  • Les administrateurs peuvent empêcher les utilisateurs de créer des ressources de référentiel Helm dans un espace de noms. En limitant les utilisateurs, les administrateurs ont la possibilité de contrôler le RBAC par le biais d'un rôle d'espace de noms au lieu d'un rôle de cluster. Cela évite d'élever inutilement les autorisations pour l'utilisateur et empêche l'accès à des services ou des applications non autorisés.
  • L'ajout du référentiel Helm à l'échelle de l'espace de noms n'a pas d'impact sur le comportement du référentiel Helm à l'échelle du cluster existant.

En tant qu'utilisateur régulier ou membre de projet disposant des autorisations RBAC appropriées, vous pouvez ajouter à votre cluster des référentiels de diagrammes Helm personnalisés dans l'espace de noms et activer l'accès aux diagrammes Helm à partir de ces référentiels dans le site Developer Catalog.

Procédure

  1. Pour ajouter un nouveau référentiel Helm Chart dans l'espace de noms, vous devez ajouter la ressource personnalisée (CR) Helm Chart Repository à votre espace de noms.

    Exemple de référentiel de diagramme de Helm dans l'espace de nommage (Namespace-scoped) CR

    apiVersion: helm.openshift.io/v1beta1
    kind: ProjectHelmChartRepository
    metadata:
      name: <name>
    spec:
      url: https://my.chart-repo.org/stable
    
      # optional name that might be used by console
      name: <chart-repo-display-name>
    
      # optional and only needed for UI purposes
      description: <My private chart repo>
    
      # required: chart repository URL
      connectionConfig:
        url: <helm-chart-repository-url>
    Copy to Clipboard

    Par exemple, pour ajouter un référentiel de graphiques Azure scoped à votre espace de noms my-namespace, exécutez :

    $ cat <<EOF | oc apply --namespace my-namespace -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: ProjectHelmChartRepository
    metadata:
      name: azure-sample-repo
    spec:
      name: azure-sample-repo
      connectionConfig:
        url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
    EOF
    Copy to Clipboard

    La sortie vérifie que le référentiel de diagrammes Helm est créé dans l'espace de noms :

    Exemple de sortie

    projecthelmchartrepository.helm.openshift.io/azure-sample-repo created
    Copy to Clipboard

  2. Naviguez vers Developer Catalog dans la console web pour vérifier que les graphiques Helm du référentiel de graphiques sont affichés dans votre espace de noms my-namespace.

    Par exemple, utilisez le filtre Chart repositories pour rechercher un graphique Helm dans le référentiel.

    Figure 7.3. Filtre des référentiels graphiques dans votre espace de noms

    odc namespace helm chart repo filter

    Il est également possible d'exécuter :

    $ oc get projecthelmchartrepositories --namespace my-namespace
    Copy to Clipboard

    Exemple de sortie

    NAME                     AGE
    azure-sample-repo        1m
    Copy to Clipboard

    Note

    Si un administrateur de cluster ou un utilisateur normal disposant des autorisations RBAC appropriées supprime tous les référentiels graphiques d'un espace de noms spécifique, vous ne pouvez pas afficher l'option Helm dans la vue Add, Developer Catalog et dans le panneau de navigation de gauche pour cet espace de noms spécifique.

7.3.7. Création d'informations d'identification et de certificats CA pour ajouter des référentiels graphiques Helm

Certains référentiels graphiques Helm ont besoin d'informations d'identification et de certificats d'autorité de certification (CA) personnalisés pour s'y connecter. Vous pouvez utiliser la console web ainsi que le CLI pour ajouter des informations d'identification et des certificats.

Procédure

Pour configurer les informations d'identification et les certificats, puis ajouter un référentiel graphique Helm à l'aide de l'interface de programmation :

  1. Dans l'espace de noms openshift-config, créez un objet ConfigMap avec un certificat d'autorité de certification personnalisé au format encodé PEM, et stockez-le sous la clé ca-bundle.crt dans la carte de configuration :

    $ oc create configmap helm-ca-cert \
    --from-file=ca-bundle.crt=/path/to/certs/ca.crt \
    -n openshift-config
    Copy to Clipboard
  2. Dans l'espace de noms openshift-config, créez un objet Secret pour ajouter les configurations TLS du client :

    $ oc create secret tls helm-tls-configs \
    --cert=/path/to/certs/client.crt \
    --key=/path/to/certs/client.key \
    -n openshift-config
    Copy to Clipboard

    Notez que le certificat et la clé du client doivent être au format codé PEM et stockés sous les clés tls.crt et tls.key, respectivement.

  3. Ajoutez le référentiel Helm comme suit :

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: <helm-repository>
    spec:
      name: <helm-repository>
      connectionConfig:
        url: <URL for the Helm repository>
        tlsConfig:
            name: helm-tls-configs
        ca:
    	name: helm-ca-cert
    EOF
    Copy to Clipboard

    Les certificats ConfigMap et Secret sont consommés dans le CR HelmChartRepository à l'aide des champs tlsConfig et ca. Ces certificats sont utilisés pour se connecter à l'URL du référentiel Helm.

  4. Par défaut, tous les utilisateurs authentifiés ont accès à tous les graphiques configurés. Toutefois, pour les référentiels graphiques nécessitant des certificats, vous devez fournir aux utilisateurs un accès en lecture à la carte de configuration helm-ca-cert et au secret helm-tls-configs dans l'espace de noms openshift-config, comme suit :

    $ cat <<EOF | kubectl apply -f -
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: openshift-config
      name: helm-chartrepos-tls-conf-viewer
    rules:
    - apiGroups: [""]
      resources: ["configmaps"]
      resourceNames: ["helm-ca-cert"]
      verbs: ["get"]
    - apiGroups: [""]
      resources: ["secrets"]
      resourceNames: ["helm-tls-configs"]
      verbs: ["get"]
    ---
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      namespace: openshift-config
      name: helm-chartrepos-tls-conf-viewer
    subjects:
      - kind: Group
        apiGroup: rbac.authorization.k8s.io
        name: 'system:authenticated'
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: helm-chartrepos-tls-conf-viewer
    EOF
    Copy to Clipboard

7.3.8. Filtrer les tableaux de bord en fonction de leur niveau de certification

Vous pouvez filtrer les graphiques de Helm en fonction de leur niveau de certification sur le site Developer Catalog.

Procédure

  1. Dans le site Developer perspective, accédez à la vue Add et sélectionnez un projet.
  2. Dans la tuile Developer Catalog, sélectionnez l'option Helm Chart pour voir toutes les cartes de Helm dans Developer Catalog.
  3. Utilisez les filtres à gauche de la liste des graphiques Helm pour filtrer les graphiques requis :

    • Utilisez le filtre Chart Repositories pour filtrer les graphiques fournis par Red Hat Certification Charts ou OpenShift Helm Charts.
    • Utilisez le filtre Source pour filtrer les graphiques provenant de Partners, Community ou Red Hat. Les graphiques certifiés sont indiqués par l'icône ( icône vérifiée de l'odc ).
Note

Le filtre Source n'est pas visible lorsqu'il n'y a qu'un seul type de fournisseur.

Vous pouvez maintenant sélectionner la carte requise et l'installer.

7.3.9. Désactivation des dépôts de Helm Chart

Vous pouvez désactiver les cartes Helm d'un référentiel de cartes Helm particulier dans le catalogue en définissant la propriété disabled de la ressource personnalisée HelmChartRepository sur true.

Procédure

  • Pour désactiver un référentiel graphique Helm à l'aide de l'interface de programmation, ajoutez l'indicateur disabled: true à la ressource personnalisée. Par exemple, pour supprimer un référentiel graphique d'un échantillon Azure, exécutez :

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: azure-sample-repo
    spec:
      connectionConfig:
       url:https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
      disabled: true
    EOF
    Copy to Clipboard
  • Pour désactiver un référentiel Helm Chart récemment ajouté à l'aide de la console Web :

    1. Allez sur Custom Resource Definitions et recherchez la ressource personnalisée HelmChartRepository.
    2. Allez sur Instances, trouvez le référentiel que vous voulez désactiver et cliquez sur son nom.
    3. Allez dans l'onglet YAML, ajoutez le drapeau disabled: true dans la section spec et cliquez sur Save.

      Exemple

      spec:
        connectionConfig:
          url: <url-of-the-repositoru-to-be-disabled>
        disabled: true
      Copy to Clipboard

      Le dépôt est maintenant désactivé et n'apparaîtra pas dans le catalogue.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat