Introduction

Rancher a été construit à l'origine pour travailler avec plusieurs orchestrateurs, et il comprenait son propre orchestrateur appelé Cattle. Avec l'apparition de Kubernetes sur le marché, Rancher 2.x déploie et gère exclusivement des clusters Kubernetes fonctionnant partout, sur n'importe quel fournisseur.

Rancher peut fournir Kubernetes à partir d'un fournisseur de service, fournir des nœuds de calcul et y installer Kubernetes, ou importer des clusters Kubernetes existants fonctionnant n'importe où.

Une installation de serveur Rancher peut gérer des milliers de grappes Kubernetes et des milliers de nœuds à partir de la même interface utilisateur.

Rancher ajoute une valeur significative à Kubernetes, tout d'abord en centralisant l'authentification et le contrôle d'accès basé sur les rôles (RBAC) pour toutes les grappes, donnant aux administrateurs globaux la possibilité de contrôler l'accès aux grappes à partir d'un seul endroit.

Il permet ensuite une surveillance détaillée et des alertes pour les clusters et leurs ressources, envoie des journaux aux fournisseurs externes et s'intègre directement à Helm via le catalogue d'applications. Si vous disposez d'un système CI/CD externe, vous pouvez le connecter à Rancher, mais si vous n'en avez pas, Rancher comprend même un moteur de pipeline pour vous aider à déployer et à mettre à jour automatiquement les charges de travail.

Rancher est une plateforme complète de gestion de conteneurs pour Kubernetes, vous donnant les outils pour gérer Kubernetes avec succès n'importe où.

Vue d'ensemble

Kubernetes est devenu le standard de l'orchestration des conteneurs. La plupart des fournisseurs de cloud et de virtualisation le proposent désormais comme infrastructure standard. Les utilisateurs de ranchers ont le choix de créer des clusters Kubernetes avec Rancher Kubernetes Engine (RKE) ou des services Kubernetes en nuage, tels que GKE, AKS et EKS. Les utilisateurs de ranchers peuvent également importer et gérer leurs clusters Kubernetes existants créés à l'aide de n'importe quelle distribution ou installateur Kubernetes.

Rancher prend en charge l'authentification, le contrôle d'accès et la surveillance centralisés pour tous les clusters Kubernetes sous son contrôle.

Par exemple, vous pouvez :

  • Utiliser vos identifiants Active Directory pour accéder aux clusters Kubernetes hébergés par des fournisseurs de cloud, tels que GKE.
  • Mettre en place et appliquer des politiques de contrôle d'accès et de sécurité pour tous les utilisateurs, groupes, projets, clusters et nuages.
  • Visualiser la santé et la capacité de vos clusters Kubernetes à partir d'un seul point de vue.

Rancher fournit une interface utilisateur intuitive aux ingénieurs DevOps pour gérer la charge de travail de leurs applications. L'utilisateur n'a pas besoin d'avoir une connaissance approfondie des concepts de Kubernetes pour commencer à utiliser Rancher.

Le catalogue Rancher contient un ensemble d'outils DevOps utiles. Rancher est certifié avec une large sélection de produits de l'écosystème natif du cloud, comprenant, par exemple, des outils de sécurité, des systèmes de surveillance, des registres de conteneurs et des pilotes de stockage et de réseau.

La figure suivante illustre le rôle que Rancher joue dans les organisations informatiques et DevOps. Chaque équipe déploie ses applications sur les nuages publics ou privés qu'elle choisit. Les administrateurs informatiques gagnent en visibilité et appliquent les politiques à tous les utilisateurs, clusters et clouds.

Le serveur API Rancher est construit au dessus d'un serveur API Kubernetes et d'une base de données etcd. Il met en œuvre les fonctionnalités suivantes :

  • Gestion des utilisateurs : Le serveur d'API Rancher gère les identités des utilisateurs qui correspondent à des fournisseurs d'authentification externes comme Active Directory ou GitHub, en plus des utilisateurs locaux.
  • Autorisation : Le serveur d'API Rancher gère le contrôle d'accès et les politiques de sécurité.
  • Provisionnement des clusters Kubernetes : Le serveur API Rancher peut provisionner Kubernetes sur les nœuds existants, ou effectuer des mises à niveau de Kubernetes.
  • Gestion du catalogue : Rancher offre la possibilité d'utiliser un catalogue de charts Helm qui facilite le déploiement répété d'applications.
  • Gestion de projets : Un projet est un groupe d'espaces de noms et de politiques de contrôle d'accès multiples au sein d'un cluster. Un projet est un concept de Rancher, et non un concept de Kubernetes, qui permet de gérer plusieurs espaces de noms en tant que groupe et d'y effectuer des opérations Kubernetes. L'interface utilisateur du Rancher fournit des fonctionnalités pour l'administration des projets et pour la gestion des applications au sein des projets.
  • Pipelines : La mise en place d'un pipeline peut aider les développeurs à livrer de nouveaux logiciels aussi rapidement et efficacement que possible. Dans Rancher, vous pouvez configurer des pipelines pour chacun de vos projets.
  • Istio : L'intégration avec Istio est conçue de manière à ce qu'un opérateur Rancher, tel qu'un administrateur ou un propriétaire de cluster, puisse fournir Istio aux développeurs. Les développeurs peuvent ensuite utiliser Istio pour appliquer les politiques de sécurité, résoudre les problèmes ou gérer le trafic pour les déploiements blue/green, les déploiements de canaris ou les tests A/B.
  • Suivi des nœuds : Le serveur d'API Rancher suit les identités de tous les nœuds de tous les clusters.
  • Mise en place de l'infrastructure : Lorsqu'il est configuré pour utiliser un fournisseur de cloud, Rancher peut fournir dynamiquement de nouveaux nœuds et un stockage permanent dans le cloud.
  • Logging : Rancher peut s'intégrer à une variété de services de logging et d'outils populaires qui existent en dehors de vos clusters Kubernetes. Rancher peut être mise en place au niveau du cluster ou du projet.
  • Monitoring : Grâce à Rancher, vous pouvez surveiller l'état et les processus des nœuds de votre cluster, des composants de Kubernetes et des déploiements de logiciels par l'intégration avec Prometheus, une solution de surveillance open-source de premier plan. La surveillance peut être configurée au niveau du cluster ou au niveau du projet.
  • Alertes : Pour que vos clusters et vos applications restent saines et fassent progresser la productivité de votre organisation, vous devez rester informé des événements qui se produisent dans vos clusters et vos projets, qu'ils soient planifiés ou non. Pour vous aider à rester informé de ces événements, vous pouvez configurer des alertes au niveau des clusters ou des projets.

Les options et paramètres disponibles pour un cluster existant changent en fonction de la méthode que vous avez utilisée pour le provisionner.

Par exemple, seuls les clusters fournis par RKE ont des options de cluster disponibles pour l'édition.

Après la création d'un cluster avec Rancher, un administrateur de cluster peut gérer l'appartenance au cluster, activer les politiques de sécurité des pods et gérer les pools de nœuds, entre autres options.

Le tableau suivant résume les options et les paramètres disponibles pour chaque type de cluster:

RANCHER CAPABILITY RKE LAUNCHED HOSTED KUBERNETES CLUSTER IMPORTED CLUSTER
Manage member roles v v v
Edit cluster options v
Manage node pools v

Déploiement de Rancher 2

Utilisez l'un des guides suivants pour déployer et provisionner Rancher et un cluster Kubernetes dans le fournisseur de votre choix.

Si vous préférez, le guide suivant vous guidera. Utilisez-le si vous souhaitez exécuter Rancher sur un autre fournisseur, sur site, ou si vous souhaitez simplement voir à quel point c'est simple.

Commencez par la création d'un cluster personnalisé en provisionnant un hôte Linux. Votre hôte peut être:

  • Une machine virtuelle (VM) chez un cloud provider
  • Une machine virtuelle sur site
  • Un serveur bare-metal

Attention:

Lorsque vous utilisez une machine virtuelle hébergée dans le cloud, vous devez autoriser la communication TCP entrante vers les ports 80 et 443. Veuillez consulter la documentation de votre hôte cloud pour plus d'informations sur la configuration des ports.

Provisionnez l'hôte selon les exigences suivantes.

Rancher devrait travailler avec n'importe quelle distribution Linux moderne.

Rancher et RKE ont été testés et sont pris en charge par Ubuntu, CentOS, Oracle Linux, RancherOS et RedHat Enterprise Linux.

Tous les systèmes d'exploitation supportés sont des systèmes 64 bits.

Le paquet ntp (Network Time Protocol) doit être installé. Cela permet d'éviter les erreurs de validation des certificats qui peuvent se produire lorsque l'heure n'est pas synchronisée entre le client et le serveur.

Certaines distributions de Linux peuvent avoir des règles de pare-feu par défaut qui bloquent la communication avec Helm. Vérifier que tout les flux soit correctement ouverts.

Docker peut être installé en suivant les étapes indiquées dans la documentation officielle de Docker. Rancher fournit également des scripts pour installer Docker avec une seule commande. (Réf. Déploiement de Docker )

L'échelle des besoins en matériel est basée sur la taille du déploiement de votre Rancher. Les exigences sont différentes selon que vous installez Rancher dans un conteneur unique avec Docker, ou que vous installez Rancher sur un cluster Kubernetes.

Ces exigences s'appliquent à un hôte ayant un conteneur unique de Rancher.

DEPLOYMENT SIZE CLUSTERS NODES VCPUS RAM
Small Up to 5 Up to 50 1 4 GB
Medium Up to 15 Up to 200 2 8 GB

Ces exigences s'appliquent à chaque hôte d'un cluster RKE Kubernetes où le serveur Rancher est installé.

Performances accrues dans la version 2.4.0 de Rancher.

DEPLOYMENT SIZE CLUSTERS NODES VCPUS RAM
Small Up to 150 Up to 1500 2 8 GB
Medium Up to 300 Up to 3000 4 16 GB
Large Up to 500 Up to 5000 8 32 GB
X-Large Up to 1000 Up to 10,000 16 64 GB
XX-Large Up to 2000 Up to 20,000 32 128 GB

Les exigences de port sont différentes selon que vous installez Rancher sur un cluster RKE ou dans un simple conteneur Docker.

https://rancher.com/docs/rancher/v2.x/en/installation/requirements/#ports-for-communication-with-downstream-clusters

Pour installer Rancher sur votre hôte, connectez-vous à celui-ci, puis utilisez un shell pour l'installer.

  • Connectez-vous à votre hôte Linux en utilisant votre shell préféré, tel que PuTTy ou une connexion Terminal distante.
  • Depuis votre shell, entrez la commande suivante:
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

Résultat: Rancher est installé.

Connectez-vous à Rancher pour commencer à utiliser l'application. Une fois connecté, vous effectuerez des configurations uniques.

  • Ouvrez un navigateur Web et entrez l'adresse IP de votre hôte: https://<SERVER_IP>. Remplacez <SERVER_IP> par votre adresse IP hôte.

  • Lorsque vous y êtes invité, créez un mot de passe pour le compte admin par défaut : cowpoke!

  • Définissez l'URL du serveur Rancher. L'URL peut être une adresse IP ou un nom d'hôte. Cependant, chaque nœud ajouté à votre cluster doit pouvoir se connecter à cette URL.

Note:

Si vous utilisez un nom d'hôte dans l'URL, ce nom d'hôte doit être résolu par DNS sur les nœuds que vous souhaitez ajouter à votre cluster.

Notre installation est maintenant opérationnelle.

Add cluster

rke@ubuntu-18:~$ curl --insecure -sfL https://192.168.1.245/v3/import/ftnpdcqp9smsgvffhrmpkrt52l974vr75szz7rcd66rbmfwh2wpm85.yaml | kubectl apply -f -
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master configured
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-8fc6359 created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
deployment.apps/cattle-cluster-agent created
daemonset.apps/cattle-node-agent created

Annexe

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus