Déployer Apache Pulsar sur un cluster OVHcloud Managed Kubernetes
Découvrez comment installer Apache Pulsar sur un cluster OVHcloud Managed Kubernetes
Objectif
Apache Pulsar est une plateforme open source de messagerie et de streaming distribuée, conçue pour le cloud. Des entreprises du monde entier utilisent Pulsar pour proposer les architectures événementielles les plus robustes pour leurs applications temps réel. Sa conception découplée permet de consommer les messages sous forme de flux hautes performances ou de files d'attente adaptables. Elle fournit nativement une série de fonctionnalités de niveau entreprise, telles que le multi-tenant, la géo-réplication, les Pulsar Functions et une API multi-langage.
StreamNative, une entreprise fondée par les créateurs originaux d'Apache Pulsar, s'associe à des équipes logicielles du monde entier pour accélérer la mise en production et gérer Pulsar à grande échelle grâce à StreamNative Cloud, un service Pulsar entièrement managé. Elle a développé les opérateurs StreamNative pour Apache Pulsar, qui assurent la gestion complète du cycle de vie des déploiements Pulsar sur Kubernetes, proposés sous une licence simple et gratuite, la Community License. Grâce à ces opérateurs, vous pouvez facilement déployer un cluster Pulsar sur Kubernetes et le gérer via l'API Kubernetes et kubectl.
Ce tutoriel explique comment installer Apache Pulsar sur un cluster OVHcloud Managed Kubernetes à l'aide des opérateurs StreamNative pour Apache Pulsar.
Prérequis
- Un cluster OVHcloud Managed Kubernetes (v1.24 ou supérieure) avec au minimum 3 worker nodes, chacun disposant d'au moins 2 vCores et 6 Go de mémoire. Une fois votre cluster prêt, une storage class par défaut doit être installée automatiquement ; elle est requise pour les instances Pulsar sur Kubernetes. Vous pouvez exécuter
kubectl get scpour afficher les storage classes disponibles. kubectlinstallé et configuré (v1.16 ou supérieure). Pour plus d'informations, consultez Configurer kubectl sur un cluster OVHcloud Managed Kubernetes.
En pratique
Avant d'installer Pulsar, vous devez d'abord installer les opérateurs, qui peuvent être déployés à l'aide du chart Helm ou de l'Operator Lifecycle Manager (OLM). Comparé à un déploiement avec Helm, OLM ne nécessite pas de mettre à jour manuellement les custom resource definitions (CRD) lors de la mise à niveau des opérateurs.
Ce tutoriel utilise OLM pour installer les opérateurs StreamNative pour Apache Pulsar. Pour plus d'informations sur le déploiement avec Helm, consultez la documentation.
Installer l'Operator Lifecycle Manager et les opérateurs
OLM est un outil puissant et largement utilisé pour gérer les opérateurs. Avec OLM, vos CRD peuvent être mises à jour automatiquement lors de la mise à niveau des opérateurs.
1. Exécutez la commande suivante pour créer les ressources Kubernetes nécessaires à OLM, notamment les CRD, les ClusterRoles et les Deployments. Le script crée également deux namespaces, olm et operators.
2. Installez les CRD et les contrôleurs personnalisés pour les composants Pulsar (brokers, proxies, BookKeeper et ZooKeeper). Les contrôleurs sont déployés par défaut dans le namespace operators.
3. Vérifiez que les opérateurs sont installés avec succès. Lors du déploiement des opérateurs, OLM exécute d'abord un Job dans le namespace olm pour chaque opérateur. Vous devez attendre la fin des Jobs pour pouvoir observer le résultat.
Résultat attendu :
Installer Pulsar avec les opérateurs
StreamNative fournit un fichier YAML de démarrage rapide qui contient les manifestes des brokers Pulsar, de BookKeeper et de ZooKeeper. Vous pouvez l'utiliser pour déployer rapidement les ressources personnalisées de Pulsar.
1. Créez un namespace nommé pulsar dans lequel les workloads Pulsar seront déployés par la suite. C'est le nom par défaut utilisé dans le fichier YAML d'exemple. Si vous modifiez le namespace à cette étape, vous devrez utiliser le même namespace à l'étape suivante. Ce namespace peut être différent de celui dans lequel les opérateurs sont installés.
2. Choisissez de déployer Pulsar avec ou sans proxies. Les deux fichiers YAML suivants contiennent tous les deux les manifestes pour ZooKeeperCluster, BookKeeperCluster et PulsarBroker. Les proxies Pulsar sont facultatifs et servent de passerelle pour router le trafic vers les brokers Pulsar.
- Exécutez la commande suivante pour installer Pulsar avec des proxies.
- Exécutez la commande suivante pour installer Pulsar sans proxies.
Si vous souhaitez installer d'autres composants, comme Kafka-on-Pulsar (KoP), appliquez les fichiers YAML correspondants disponibles dans ce dépôt GitHub.
3. Vérifiez que les différents composants du cluster Pulsar sont opérationnels.
Résultat attendu :
Le cluster Pulsar est désormais prêt à traiter des requêtes.
Tester le cluster Pulsar
1. Exécutez une commande dans un Pod broker pour créer un tenant, un namespace et un topic comportant 4 partitions.
2. Listez tous les topics partitionnés du namespace apache/pulsar.
Résultat attendu :
3. Créez un abonnement pour consommer les messages du topic apache/pulsar/test-topic.
4. Ouvrez un nouveau terminal et exécutez la commande suivante pour envoyer 10 messages au topic test-topic.
Résultat attendu côté consommateur :
Suppression (nettoyage)
Vous pouvez désinstaller les opérateurs et Pulsar lorsque vous n'en avez plus besoin.
Désinstaller Pulsar
Si vous avez déjà déployé Pulsar avec les opérateurs Pulsar, vous devez d'abord désinstaller Pulsar. Vous pouvez ignorer cette étape si Pulsar n'est pas installé.
- Exécutez la commande suivante pour désinstaller Pulsar si vous l'avez installé avec des proxies.
- Exécutez la commande suivante pour désinstaller Pulsar si vous l'avez installé sans proxies.
Désinstaller les opérateurs
1. Supprimez les Subscriptions créées par OLM. Les Subscriptions expriment l'intention d'un utilisateur de s'abonner à la dernière version d'un opérateur. En supprimant les Subscriptions associées aux opérateurs Pulsar, vous indiquez à OLM que vous ne souhaitez plus que de nouvelles versions des opérateurs soient installées.
2. Supprimez les ClusterServiceVersions (CSV) des opérateurs Pulsar. Vous pouvez exécuter kubectl get csv -n operators pour vérifier les versions.
3. Supprimez les CRD de Pulsar.
Désinstaller OLM
Exécutez les commandes suivantes pour désinstaller OLM :
Ressources complémentaires
L'équipe StreamNative cherche à offrir une meilleure expérience cloud native aux utilisateurs de Pulsar grâce aux opérateurs StreamNative pour Apache Pulsar. Pour en savoir plus sur OVHcloud Managed Kubernetes, Pulsar et les opérateurs Pulsar, consultez les ressources suivantes :
- Documentation OVHcloud Managed Kubernetes
- Documentation Apache Pulsar
- Documentation des opérateurs StreamNative pour Apache Pulsar