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.

Contribuer à SUSE Rancher Prime

Découvrez les dépôts utilisés pour Rancher et la documentation de Rancher, comment construire les dépôts de Rancher, et quelles informations inclure lorsque vous signalez un problème.

Pour des informations plus détaillées sur la façon de contribuer au développement des projets Rancher, consultez le Wiki des développeurs Rancher. Le wiki contient des ressources sur de nombreux sujets, y compris les suivants :

  • Comment configurer l’environnement de développement Rancher et exécuter des tests

  • Le flux typique d’un problème à travers le cycle de vie du développement

  • Directives de codage et meilleures pratiques de développement

  • Débogage et dépannage

  • Développement de l’API Rancher

Sur le Slack des utilisateurs de Rancher, le canal pour les développeurs est #developer.

Documentation de Rancher

Si vous avez des suggestions pour la documentation sur ce site web, ouvrez un problème dans le dépôt principal de la documentation Rancher. Ce dépôt contient la documentation pour Rancher v2.0 et ultérieurs.

Consultez le README des docs Rancher pour plus de détails sur la contribution et la construction du dépôt de documentation Rancher v2.x.

Pour la documentation de Rancher v1.6 et antérieures, consultez le dépôt docs Rancher 1.x, qui contient les fichiers sources pour https://rancher.com/docs/rancher/v1.6/en/..

Dépôts Rancher

Tous les dépôts sont situés au sein de notre organisation principale sur GitHub. Il existe de nombreux dépôts utilisés pour Rancher, mais nous fournirons des descriptions de certains des principaux utilisés dans Rancher.

Dépôt URL Description

Rancher

https://github.com/rancher/rancher

Ce dépôt est le code source principal pour Rancher 2.x.

Types

https://github.com/rancher/types

Ce dépôt est le dépôt qui contient tous les types d’API pour Rancher 2.x.

Cadre API

https://github.com/rancher/norman

Ce dépôt est un cadre API pour construire des API de style Rancher soutenues par des ressources personnalisées Kubernetes.

Interface utilisateur

https://github.com/rancher/dashboard/

Ce dépôt est la source de l’interface utilisateur du tableau de bord.

(Rancher) Docker Machine

https://github.com/rancher/machine

Ce dépôt est la source du binaire Docker Machine utilisé lors de l’utilisation des pilotes de nœud. Ceci est un fork du dépôt docker/machine.

machine-package

https://github.com/rancher/machine-package

Ce dépôt est utilisé pour construire le binaire Docker Machine de Rancher.

kontainer-engine

https://github.com/rancher/kontainer-engine

Ce dépôt est la source de kontainer-engine, l’outil pour provisionner des clusters Kubernetes hébergés.

CLI

https://github.com/rancher/cli

Ce dépôt est le code source pour le CLI Rancher utilisé dans Rancher 2.x.

(Rancher) Dépôt Helm

https://github.com/rancher/helm

Ce dépôt est la source du binaire Helm empaqueté. Ceci est un fork du dépôt helm/helm.

dépôt loglevel

https://github.com/rancher/loglevel

Ce dépôt est la source du binaire loglevel, utilisé pour changer dynamiquement les niveaux de journalisation.

Pour voir toutes les bibliothèques/projets utilisés dans Rancher, consultez le go.mod fichier dans le rancher/rancher dépôt.

Diagramme Rancher
Figure 1. Composants Rancher utilisés pour provisionner/gérer des clusters Kubernetes

Construction des dépôts Rancher

Chaque dépôt doit avoir un Makefile et peut être construit en utilisant la commande make. Les cibles make sont basées sur les scripts dans le répertoire /scripts du dépôt, et chaque cible utilisera Dapper pour exécuter la cible dans un environnement isolé. Le Dockerfile.dapper sera utilisé pour ce processus et inclut tous les outils de construction nécessaires.

La cible par défaut est ci et exécutera ./scripts/validate, ./scripts/build, ./scripts/test et ./scripts/package. Les binaires résultants de la construction seront dans ./build/bin et sont généralement également empaquetés dans une image Docker.

Bugs, problèmes ou questions concernant Rancher

Si vous trouvez des bugs ou rencontrez des problèmes, veuillez rechercher le problème signalé car quelqu’un a peut-être rencontré le même problème ou nous travaillons activement sur une solution.

Si vous ne trouvez rien en rapport avec votre problème, contactez-nous en signalant un problème. Bien que nous ayons de nombreux dépôts liés à Rancher, nous souhaitons que les bugs soient signalés dans le dépôt Rancher afin de ne pas les manquer ! Si vous souhaitez poser une question ou demander à d’autres utilisateurs à propos d’un cas d’utilisation, nous vous suggérons de créer un post sur le Forums Rancher.

Liste de contrôle pour signaler des problèmes

Veuillez suivre cette liste de contrôle lors de la signalisation d’un problème, ce qui nous aidera à enquêter et à résoudre le problème. Plus d’infos signifie plus de données que nous pouvons utiliser pour déterminer ce qui cause le problème ou ce qui pourrait être lié au problème.

Pour de grandes quantités de données, veuillez utiliser GitHub Gist ou similaire et lier la ressource créée dans le problème.

Important :

Veuillez supprimer toute donnée sensible car elle sera visible publiquement.

  • Ressources : Fournissez autant de détails que possible sur les ressources utilisées. Comme la source du problème peut être de nombreuses choses, inclure autant de détails que possible aide à déterminer la cause profonde. Voir quelques exemples ci-dessous :

    • Hôtes : Quelles spécifications l’hôte a-t-il, comme le CPU/mémoire/disque, sur quel cloud cela se produit-il, quelle image Amazon Machine utilisez-vous, quel droplet DigitalOcean utilisez-vous, et quelle image provisionnez-vous que nous pouvons reconstruire ou utiliser pour reproduire ?

    • Système d’exploitation : Quel système d’exploitation utilisez-vous ? Fournir des détails aide ici, comme la sortie de cat /etc/os-release pour la version exacte de l’OS et uname -r pour le noyau exact utilisé

    • Docker: Quelle version de Docker utilisez-vous, comment l’avez-vous installée ? La plupart des détails de Docker peuvent être trouvés en fournissant la sortie de docker version et docker info

    • Environnement : Êtes-vous dans un environnement proxy, utilisez-vous des certificats CA reconnus ou auto-signés, utilisez-vous un équilibreur de charge externe ?

    • Rancher : Quelle version de Rancher utilisez-vous, cela peut être trouvé en bas à gauche de l’interface utilisateur ou récupéré à partir de la balise d’image que vous exécutez sur l’hôte

    • Clusters : Quel type de cluster avez-vous créé, comment l’avez-vous créé, qu’avez-vous spécifié lors de sa création ?

  • Étapes pour reproduire le problème : Fournissez autant de détails que possible sur la façon dont vous êtes arrivé à la situation signalée. Cela aide la personne à reproduire la situation dans laquelle vous vous trouvez.

    • Fournissez les étapes manuelles ou les scripts d’automatisation utilisés pour passer d’une configuration nouvellement créée à la situation que vous avez signalée.

  • Journaux : Fournissez des données/journaux des ressources utilisées.

    • Rancher

      • Installation de Docker

          docker logs \
          --timestamps \
          $(docker ps | grep -E "rancher/rancher:|rancher/rancher " | awk '{ print $1 }')
      • Installation de Kubernetes en utilisant kubectl

      Assurez-vous que vous avez configuré le bon kubeconfig (par exemple, export KUBECONFIG=$PWD/kube_config_cluster.yml si Rancher est installé sur un cluster Kubernetes) ou que vous utilisez le kubectl intégré via l’interface utilisateur.

      kubectl -n cattle-system \
      logs \
      -l app=rancher \
      --timestamps=true
    • Journalisation système (ceux-ci peuvent ne pas tous exister, selon le système d’exploitation)

      • /var/log/messages

      • /var/log/syslog

      • /var/log/kern.log

    • Journalisation du démon Docker (ceux-ci peuvent ne pas tous exister, selon le système d’exploitation)

      • /var/log/docker.log

  • Métriques : Si vous rencontrez des problèmes de performance, veuillez fournir autant de données (fichiers ou captures d’écran) de métriques qui peuvent aider à déterminer ce qui se passe. Si vous avez un problème lié à une machine, il est utile de fournir la sortie de top, free -m, df qui montre l’utilisation des processus/mémoire/disque.