Aller au contenu principal

Gérer vos clusters Kubernetes avec Rancher de SUSE

logo rancher

Pour les connaisseurs de Kubernetes, aborder la gestion de clusters peut s'apparenter à une tâche complexe et parfois fastidieuse. Dans ce guide, je m'intéresse à Rancher de SUSE, une solution qui révolutionne cette gestion en apportant une couche d'abstraction et de facilité. Cette plateforme robuste, désormais sous la bannière de SUSE, s'impose comme un outil incontournable pour les professionnels cherchant à optimiser, sécuriser et simplifier la gestion de leurs clusters Kubernetes.

Historique de Rancher

L'histoire de Rancher commence bien avant son acquisition par SUSE, marquant une évolution significative dans le monde de la gestion de conteneurs. Rancher Labs a été fondé en 2014, avec la vision de simplifier la gestion des conteneurs pour les entreprises. Le produit phare, Rancher, est rapidement devenu populaire en raison de sa facilité d'utilisation et de sa polyvalence, offrant une plateforme complète pour la gestion des clusters Kubernetes.

La force de Rancher réside dans sa capacité à rendre Kubernetes accessible, même pour les équipes sans expérience préalable en matière de conteneurs. Cette accessibilité a été un facteur clé de son adoption rapide par une vaste communauté d'utilisateurs. Rancher a évolué pour prendre en charge une variété de distributions Kubernetes, rendant la plateforme attrayante pour une large gamme d'environnements informatiques, des PME aux grandes entreprises.

En 2020, SUSE, une entreprise leader dans le domaine des logiciels open source, a acquis Rancher Labs. Cette acquisition a marqué un tournant stratégique pour SUSE, lui permettant de renforcer son portefeuille de solutions de gestion de cloud et de conteneurs. L'intégration de Rancher dans l'écosystème SUSE a non seulement élargi les capacités de la plateforme mais a également bénéficié à la communauté d'utilisateurs de SUSE en leur offrant une solution de gestion de conteneurs de classe entreprise.

Sous l'égide de SUSE, Rancher continue d'évoluer, en se concentrant sur l'innovation et l'amélioration continue. L'accent est mis sur la simplification de la gestion des opérations Kubernetes, la sécurité renforcée et la prise en charge étendue des environnements cloud hybrides et multicloud. Cette approche holistique de la gestion des conteneurs permet aux entreprises de toutes tailles de tirer pleinement parti de la puissance et de la flexibilité de Kubernetes, tout en minimisant la complexité et les coûts associés.

Principales Fonctionnalités de Rancher

Rancher se distingue par un ensemble de fonctionnalités robustes et intégrées, conçues pour répondre aux besoins des entreprises dans la gestion de leurs environnements Kubernetes. Voici les plus importantes :

  • Gestion Multi-Clusters : Une des grandes forces de Rancher est sa capacité à gérer plusieurs clusters Kubernetes, qu'ils soient hébergés sur site, dans le cloud ou dans des environnements hybrides. Cette fonctionnalité permet aux administrateurs de centraliser la gestion de leurs clusters, de simplifier les déploiements et d'uniformiser les opérations, tout en conservant une visibilité complète sur l'ensemble de leur infrastructure.

  • Sécurité et Conformité : Rancher intègre des fonctionnalités de sécurité avancées pour assurer la protection des clusters Kubernetes. Il propose des contrôles d'accès basés sur les rôles (RBAC), la gestion des politiques de sécurité et la conformité aux normes de sécurité. Ces fonctionnalités aident les organisations à maintenir des environnements Kubernetes sécurisés et conformes aux réglementations en vigueur.

  • Catalogue d'Applications : Rancher inclut un catalogue d'applications qui facilite le déploiement de services et d'applications dans les clusters Kubernetes. Ce catalogue est une ressource précieuse pour les équipes de développement, leur permettant de déployer rapidement des applications pré-configurées, réduisant ainsi le temps de mise sur le marché.

  • Support des Environnements Cloud Hybrides et Multicloud : Rancher prend en charge une large gamme d'environnements cloud, permettant aux entreprises d'exécuter leurs applications où elles le souhaitent. Cette flexibilité est essentielle dans un monde où les architectures cloud hybrides et multicloud deviennent la norme.

  • Observabilité et Monitoring : La plateforme fournit des outils complets pour le monitoring et l'observabilité des clusters Kubernetes. Ces outils aident les équipes à surveiller la performance, à détecter et à résoudre rapidement les problèmes, garantissant ainsi une haute disponibilité et performance des applications.

  • Intégration avec des Outils Externes : Rancher s'intègre facilement avec une variété d'outils DevOps et de sécurité, permettant aux équipes de continuer à utiliser leurs outils préférés tout en bénéficiant des avantages de Rancher.

Installation de Rancher

Installation avec Docker

L'installation et la configuration de Rancher sont des étapes clés pour tirer pleinement parti de ses fonctionnalités. Voici un guide pas à pas pour installer et configurer Rancher, en se concentrant sur une approche simplifiée adaptée même pour ceux qui sont nouveaux dans l'univers de Kubernetes.

Prérequis

Avant d'installer Rancher, assurez-vous que les prérequis suivants sont satisfaits :

  • Un serveur Linux avec un accès root ou des privilèges sudo et suffisamment d'espace disque.
  • Docker installé sur le serveur.

Installation de Rancher

Pour installer Rancher, exécutez la commande Docker suivante :

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --name rancher --privileged rancher/rancher:latest

Cette commande télécharge et lance la dernière version de Rancher dans un conteneur Docker.

Accès à l'Interface Rancher

Une fois Rancher lancé, accédez à l'interface web de Rancher en ouvrant un navigateur web et en saisissant l'adresse IP de votre serveur http://<IP_SERVEUR>.

  • Dans l'interface web de Rancher, suivez les instructions pour configurer un mot de passe administrateur et l'URL du serveur Rancher.

Le mot de passe créé pendant l'installation peut être récupéré avec la commande suivante :

docker logs rancher |grep 'Bootstrap Password'

Installation sur un cluster K3s

Prérequis

Pour expliquer comment installer Rancher sur un cluster k3s déjà provisionné je vous propose d'utiliser mon environnement vagrant k3sSandbox.

Installation de Rancher

Une fois déployé, créons le namespace :

kubectl create namespace cattle-system
kubectl config set-context --current --namespace=cattle-system

Il faut ensuite créer un certificat avec mkcert :

mkcert -cert-file tls.crt -key-file tls.key rancher.robert.local

Créons le secret :

kubectl create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key

Il faut ensuite récupérer le chart helm :

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
helm install rancher rancher-latest/rancher --namespace cattle-system --set hostname=rancher.robert.local --set ingress.tls.source=secret

Vous pouvez suivre le déploiement avec la commande suivante :

kubectl get pods -l app=rancher | grep '1/1' | head -1 | awk '{ print $1 }'

rancher-7484b7b4c5-22kdm

kubectl logs -f rancher-7484b7b4c5-22kdm

Accès à l'Interface Rancher

On récupère un IP pour l'ingress :

NAME      CLASS     HOSTS                  ADDRESS                                         PORTS     AGE
rancher traefik rancher.robert.local 192.168.121.145,192.168.121.216,192.168.121.9 80, 443 94m

On prend la première IP que nous ajoutons dans notre fichier /etc/hosts comme ceci :

192.168.121.145 rancher.robert.local

Vous pouvez ouvrir l'url suivante : https://rancher.robert.local dans votre navigateur. Vous devriez obtenir cet ecran :

Login Rancher

Pour récupérer le mot de passe temporaire :

kubectl get secret -n cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{ "\n" }}'

bgv92rjbltz5fqkjjbjgk5gbwhg6p7mh8h7slndm5jfhpsqsgbglhx

Utilisation de Rancher

Création et Gestion des Clusters Kubernetes

Rancher supporte plusieurs environnements, y compris les clouds publics et les déploiements sur site. Dans l'interface Rancher, naviguez vers le menu Clusters" et cliquez sur "Ajouter un cluster" pour démarrer la configuration.

Clusters Rancher

Rancher offre plusieurs options pour la création de clusters, y compris l'intégration de clusters existants, la création avec des fournisseurs cloud comme AWS, Azure ou Google Cloud, ou même de créer un cluster RKE (Rancher Kubernetes Engine) personnalisé.

Une fois que vous avez choisi votre méthode de création de cluster, Rancher vous guide à travers les étapes de configuration, vous permettant de personnaliser des aspects tels que les versions de Kubernetes, les ressources de calcul, et les politiques de réseau. Vous pouvez également configurer des aspects de sécurité avancés, tels que les rôles RBAC (Role-Based Access Control) et les politiques de PSP (Pod Security Policy).

Intégration d'Harvester dans Rancher

L'intégration d'Harvester dans Rancher marque une étape importante dans l'évolution de la gestion des infrastructures cloud-native. Harvester est une solution open-source de virtualisation hyperconvergée (HCI) qui s'intègre parfaitement dans Rancher, offrant ainsi une plateforme unifiée pour la gestion des ressources informatiques, tant physiques que virtuelles.

Clusters Rancher

Déploiement des Applications

Rancher facilite le déploiement des applications dans vos clusters Kubernetes. Vous pouvez utiliser le catalogue d'applications intégré pour déployer rapidement des applications standardisées. Pour déployer une application, allez dans le menu "Catalogues d'applications" et choisissez une application à déployer dans votre cluster.

Clusters Rancher

Sécurité et Compliance avec Rancher

Pour les professionnels gérant des clusters Kubernetes, la sécurité et la conformité sont des préoccupations constantes. Rancher apporte des réponses concrètes à ces défis, intégrant des fonctionnalités de sécurité robustes et des options de configuration de conformité. Voici comment Rancher aide à sécuriser et à maintenir la conformité des clusters Kubernetes :

Rancher aide les organisations à se conformer aux normes de sécurité et de conformité de l'industrie grâce à des outils de rapport et de vérification comme les benchs CIS. Les administrateurs peuvent générer des rapports de conformité pour prouver que les clusters sont gérés conformément aux réglementations en vigueur, comme le GDPR, HIPAA, ou PCI-DSS.

Sécurité Renforcée des Conteneurs avec NeuVector

NeuVector fournit une solution de sécurité des conteneurs complète qui s'intègre parfaitement avec Rancher. Cette intégration offre une protection en temps réel contre les menaces internes et externes, améliorant la sécurité globale des applications et des données dans les clusters Kubernetes. Avec NeuVector, vous bénéficiez d'une visibilité complète sur le trafic réseau des conteneurs, permettant la détection et la prévention des activités suspectes ou malveillantes.

Surveillance et Gestion

Rancher intègre des outils de surveillance et de gestion pour suivre la santé et les performances de vos clusters et applications. Utilisez l'interface Rancher pour configurer des alertes, surveiller les ressources et gérer les aspects de sécurité de vos clusters.

Conclusion

Au terme de notre exploration de Rancher de SUSE, il est évident que cette plateforme représente bien plus qu'un simple outil de gestion de Kubernetes. Rancher s'est imposé comme une solution incontournable pour les professionnels de l'informatique qui cherchent à simplifier, sécuriser et optimiser la gestion de leurs infrastructures Kubernetes.

Avec ses fonctionnalités avancées de gestion multi-clusters, son interface utilisateur intuitive, ses robustes capacités de sécurité (notamment renforcées par l'intégration de NeuVector), et sa conformité aux normes de l'industrie, Rancher répond efficacement aux défis complexes posés par les environnements Kubernetes d'aujourd'hui. Que ce soit pour une petite entreprise ou une grande corporation, Rancher apporte une valeur ajoutée significative, en facilitant la gestion de clusters Kubernetes tout en assurant leur sécurité et leur performance.