Rancher 2.0 : De nouvelles fonctionnalités qui pourraient vous intéresser

Rancher 2.0 final

Depuis le 1er mai, Rancher 2.0 est maintenant couramment disponible et il y a de quoi se réjouir. La nouvelle plateforme Rancher offre une distribution Kubernetes gérée, est déterministe dans son déploiement et son installation est légère. Grâce à sa simplicité et sa souplesse elle est idéale pour les infrastructures ordinaires sans services gérés Kubernetes et qui doivent être conçues de A à Z. Bien que les versions précédentes rendaient la plateforme conviviale, Rancher 2.0 est une solution beaucoup plus complète.

Rancher soutenait déjà les fonctionnalités AD (Active Directory), le protocole LDAP et la SAML (Security Assurance Markup Language) ; Rancher 2.0 va plus loin et inclut des fonctionnalités comme le soutien accru de catalogue pour Helm, une meilleure intégration CI/CD, des alertes et l’enregistrement centralisé. La disponibilité de son catalogue applicatif est particulièrement pratique, car cela vous permet de déployer rapidement des modèles d’application préfabriqués. En tirant profit de Helm, Rancher a augmenté ses capacités d’automatisation.

Rancher 2.0 a aussi accru ses capacités d’indépendance infonuagique. À l’origine, sa conception était sans affiliation infonuagique au niveau de la couche d’orchestration et cherchait à rassembler les utilisateurs de Kubernetes, Docker Swarm, et Cattle de Rancher. Comme Kubernetes s’est positionné dans le domaine en tant que standard d’orchestration de conteneur, Rancher a évolué pour n’utiliser que Kubernetes pour orchestrer ses conteneurs. Rancher 2.0 offre la gestion de grappes Kubernetes sur tous les grands fournisseurs infonuagiques publics, notamment, GKE de Google, AKS de Azure et EKS de Amazon, ainsi que d’autres grappes Kubernetes comme Canonical. Rancher le fait, par exemple, en enlevant, le facteur d’authentification du fournisseur infonuagique afin que Kubernetes puisse être exécuté sur les moteurs respectifs des différents fournisseurs. Exposant un volet unique pour toutes les opérations Kubernetes, Rancher 2.0 est un outil très puissant.

Installer Rancher 2.0

Afin de constater par vous-mêmes ce que Rancher 2.0 a à offrir, déployez Rancher en exécutant :

$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

Cela créera un utilisateur admin par défaut. Si vous le faites sur cloud.ca, vous devrez ajouter le fournisseur manuellement du dépôt GitHub, car le fournisseur cloud.ca n’est pas actuellement disponible par défaut. EKS GKE, AKS et Packet.net sont tous disponibles par défaut.

Une fois Rancher déployé, vous pouvez créer une grappe Kubernetes en utilisant un des fournisseurs par défaut, comme démontré ci-dessous.

Add Cluster

Dans cet exemple, j’ai utilisé Rancher pour exécuter une grappe Kubernetes sur cloud.ca, ce qui signifie d’ajouter manuellement des nœuds et de sélectionner cloud.ca comme fournisseur infonuagique personnalisé. Pour la présente situation, j’avais besoin de deux nœuds ouvriers et d’un nœud maître qui exploitaient Etcd. Tandis que le nombre et la fonction des nœuds dépendent de votre situation précise, vous visez idéalement un nœud maître et trois nœuds Etcd.

Cluster Create Options

Rancher configurera et installera automatiquement tous les éléments requis par Kubernetes pour vous fournir une grappe qui fonctionne. Le tableau de bord principal d’une grappe est présenté ci-dessous, il montre l’état de santé général de la grappe et l’usage de l’UCT, de la mémoire ainsi que des informations générales à propos de la version Kubernetes exploitée actuellement.

Cluster Main Dashboard

Fonctionnalités – Rancher offre une IU pour la plupart des ressources Kubernetes, notamment les pods, les services et les entrées. Dans le présent article, j’ai établi une liste des nouvelles fonctionnalités offertes par Rancher 2.0.

Fonctionnalités relatives aux grappes – Les options de fonctionnalités relatives aux grappes offertes par Rancher peuvent être appliquées à travers toute la grappe.

Projets

Les projets sont un nouveau concept introduit par Rancher 2.0. Ce sont des ensembles d’espaces de noms qui vous accordent un meilleur contrôle sur les ressources. Dans Kubernetes, les espaces de noms sont les seuls moyens par lesquels on peut isoler les éléments entre les différents utilisateurs. Par contre, cela devient insuffisant lorsque les utilisateurs uniques désirent accéder à plusieurs espaces de noms dans des environnements différents. En ajoutant les projets comme couche supplémentaire au-dessus des espaces de noms, Rancher 2.0 élimine le besoin d’ajouter les utilisateurs uniques pour chaque espace de nom, facilitant la tâche pour les administrateurs de la gestion des permissions aux utilisateurs.

Rancher offre une IU complète pour la création de projets et d’espaces de noms. Lors de la création de projets, il faut assigner des rôles précis aux utilisateurs pour définir les permissions. Les espaces de noms peuvent être créés soit à l’intérieur des projets (et hériter des rôles de ce projet) ou de façon autonome. Les politiques de sécurité des pods (PodSecurityPolicies) peuvent aussi être assignées aux projets et aux espaces de noms connexes.

Add Project

Project/Namespace View

Membres de la grappe

Les membres sont les utilisateurs au sein d’une même grappe Kubernetes, le même utilisateur peut se voir assigner différents rôles (soit admin, soit utilisateur régulier ou un rôle personnalisé que vous créez) dans différentes grappes auxquelles ils ont été ajoutés. Les utilisateurs uniques peuvent utiliser Rancher 2.0 pour accéder aux nombreuses grappes Kubernetes tout en maintenant différents rôles dans différentes grappes ; ils ne sont pas obligés d’utiliser des facteurs d’authentification variables lorsqu’ils changent de grappe.

Add Member to Cluster

Stockage Rancher

Le stockage Rancher vous permet d’ajouter à la grappe, par l’IU, soit une classe de stockage soit des volumes persistants. Vous obtiendrez une liste des modules d’extension de stockage disponibles, parallèlement aux options exigées. Par exemple, si vous sélectionnez NFS comme module d’extension, on vous demandera de saisir l’adresse du serveur et du chemin distant.

Fonctionnalités ajoutées

Rancher 2.0 comprend quelques fonctionnalités de plus, relatives aux grappes. Par exemple :

  1. Notifiants – les notifiants vous permettent de publier des alertes vers des sources variées, incluant Slack, les courriels, PagerDuty, etc.
  2. Alertes – vous pouvez configurer les alertes pour les événements, tels qu’un hôte UCT plus grand que le seuil acceptable ou encore, la création d’un déploiement
  3. Enregistrement – Rancher collecte les standards de débit et d’erreurs de chaque conteneur, les fichiers journaux de ceux-ci se trouvent sous path /var/log/containers/ sur chaque hôte. Les enregistrements peuvent être copiés vers des cibles différentes comme ElasticSearch, Syslog, etc.
  4. Pipeline – Rancher 2.0 offre une IU pratique pour installer des pipelines CI/CD. GitHub est actuellement soutenu.

Fonctionnalités relatives au projet – Les applications de charges de travail et de catalogue sont les deux fonctionnalités les plus importantes à ce niveau-ci.

Tableau de bord du projet

L’IU de Rancher présente la plupart des ressources qui sont spécifiques à Kubernetes, incluant les pods, les secrets et les configmaps. Rancher ajoute aussi une option de catalogue de laquelle vous pouvez déployer des applications avec Helm. Voir ci-dessous la visualisation du projet fournie par le tableau de bord.

Add Volume

Project Dashboard

Charges de travail

Les charges de travail vous permettent de créer des types variés de ressources, notamment des pods, des déploiements, des ensembles Daemon, des travaux et des travaux prévus. L’IU présente de nombreuses options disponibles qui servent à configurer les charges de travail à déployer, incluant l’ajout des variables d’environnement, de bilan de santé et des politiques de mise à l’échelle. L’IU vous permet aussi d’ajouter ou de configurer les entrées pour le déploiement et d’ajouter des dossiers DNS personnalisés pour la découverte de services. Il vous permet aussi d’ajouter et de configurer les demandes de volume persistant à votre charge de travail, avec comme base, les volumes persistants réglés au niveau de la grappe. Fondamentalement, les charges de travail offrent une IU très complète de laquelle on peut créer des ressources sur Kubernetes.

Deploy Workload

Applications du catalogue

Cette fonctionnalité utilise Helm pour déployer rapidement des applications. Rancher 2.0 apporte une nouvelle logique qui est d’automatiser la création d’espaces de noms lors de déploiements des applications. Lors d’un déploiement de Helm chart avec Rancher, le helm chart découvre les différents paramètres de configuration pour l’application et fournit un IU pour les ajouter facilement. Rancher offre une interface facile pour utiliser les fonctions de mise à jour ou de retour-arrière afin de modifier l’application.

Membres du projet et de l’espace de nom

Comme son nom l’indique, Rancher Members vous permet d’ajouter des membres au projet. Par défaut, seul l’admin est ajouté. Vous pouvez assigner des membres et des rôles de la grappe à chaque projet, ce qui déterminera ce que l’utilisateur peut faire au niveau du projet et de l’espace de nom. De telles opérations comprennent la visualisation et la modification des secrets, les configmaps, les services, etc.App Catalog

Autres ressources :

  1. Alertes – vous pouvez ajouter des alertes pour des événements relatifs aux déploiements et aux pods. Par exemple, envoyez une alerte lorsqu’un déploiement tombe sous le seuil acceptable de répliques.
  2. Certificats – les certificats vous permettent d’ajouter des paires de clés publiques/privées. Par contre, cela n’a pas semblé fonctionner pour moi. L’ajout de clés privées a toujours généré des messages d’erreurs que la clé était invalide.
  3. Configmaps et secrets – une seule IU est fournie pour leur gestion.
  4. Enregistrement – vous pouvez choisir où envoyer les enregistrements, comme pour l’enregistrement de grappe.
  5. Registres – les registres privés pour être plus précis peuvent être configurés pour un projet.

Les versions précédentes de Rancher offraient déjà des moyens simples et reproductibles de déployer des conteneurs. Le but principal de Rancher 2.0 était d’intégrer de façon plus solide la distribution avec Kubernetes. L’ajout d’un catalogue applicatif a grandement simplifié le déploiement d’applications courantes. Les projets de gestion de permissions aux utilisateurs accordent une couche supplémentaire de contrôle pour les admins de la grappe. Ces fonctionnalités, parmi tant d’autres, font de Rancher 2.0 une plateforme idéale pour intégrer des solutions Kubernetes variées, sur plusieurs nuages, mais avec un seul volet d’authentification. J’ai été vraiment impressionné par ce qu’offre Rancher 2.0.

Si vous voulez en apprendre davantage, inscrivez-vous à notre atelier pratique de trois jours sur la conteneurisation d’applications avec Docker et Kubernetes.

 

Syed Mushtaq Ahmed

Syed Ahmed est un développeur de logiciels chez CloudOps. Il est axé sur les intégrations et les problèmes qui sont difficiles à résoudre. Grâce à son expertise tant dans les piles de matériel que de logiciels, il ajoute une perspective unique dans la résolution de problèmes relatifs à l’intégration et à l’orchestration. Syed est un avide collaborateur à la source libre, il est aussi « Committer » et « PMC » pour le projet Apache CloudStack.

Share Your Thoughts!

420 rue Guy
Montréal, QC H3J 1S6
CANADA

56 Temperance St, 7e étage
Toronto, ON M5H 3V5
CANADA
201 Sommerville Ave.
Sommerville, MA 02143
É-U