Vous débutez avec Elasticsearch ? Participez à notre webinaire Premiers pas avec Elasticsearch. Vous pouvez aussi démarrer un essai gratuit sur le cloud ou tester Elastic dès maintenant sur votre machine.
Dans cet article, nous allons découvrir comment déployer Elasticsearch sur Google Cloud Kubernetes (GKE) en utilisant Autopilot.
Pour Elasticsearch, nous allons utiliser Elastic Cloud on Kubernetes (ECK), qui est l’opérateur Kubernetes officiel d’Elasticsearch et qui simplifie l’orchestration des déploiements Kubernetes pour tous les composants Elastic Stack.
Pour en savoir plus sur la façon de déployer des clusters Elasticsearch sur différentes infrastructures GCP, vous pouvez consulter nos articles de prise en main pour Google Cloud Compute et Google Cloud Marketplace.
Effort de déploiement d'Elasticsearch

Qu'est-ce que GKE Autopilot ?
Google Kubernetes Engine (GKE) Autopilot offre une expérience Kubernetes entièrement gérée où Google prend en charge la configuration du cluster, la gestion des nœuds, la sécurité et la mise à l'échelle, tandis que les développeurs se concentrent sur le déploiement des applications, permettant aux équipes de passer du code à la production en quelques minutes grâce à de bonnes pratiques intégrées.
Quand utiliser l’ECK dans Google Cloud ?
Elastic Cloud on Kubernetes (ECK) est parfaitement adapté aux entreprises qui disposent d'une infrastructure Kubernetes existante et souhaitent déployer Elasticsearch avec des fonctionnalités avancées telles que des rôles de nœuds dédiés, la haute disponibilité et l'automatisation.
Comment configurer ECK dans Google Cloud ?
1. Connectez-vous à la Google Cloud Console.
2. En haut à droite, cliquez sur le bouton Cloud Shell pour accéder à la console, et déployez le cluster GKE à partir de là. Sinon, vous pouvez utiliser la CLI gcloud.
N'oubliez pas de remplacer l'identifiant du projet par le vôtre pendant le tutoriel.

3. Activez l'API Google Kubernetes Engine.

Cliquez sur Suivant.
L'API Kubernetes Engine devrait désormais apparaître comme activée lorsque vous recherchez cette API.

4. Dans Cloud Shell, créez un cluster Autopilot. Nous le nommerons autopilot-cluster-1, et remplacerons également autopilot-test par l'identifiant de votre projet.
5. Attendez qu le cluster soit prêt. La création prend environ 10 minutes.

Un message de confirmation s’affiche après avoir correctement configuré le cluster.
6. Configurez l'accès à la ligne de commande kubectl.
Vous devriez voir :

Entrée kubeconfig générée pour autopilot-cluster-1
7. Installez l’opérateur Elastic Cloud on Kubernetes (ECK).
8. Créons une instance Elasticsearch à nœud unique avec les valeurs par défaut.
Si vous souhaitez consulter quelques recettes pour différentes configurations, suivez ce lien.
Gardez à l’esprit que si vous ne spécifiez pas de storageClass, ECK utilisera celui défini par défaut, qui, pour GKE, est standard-rwo et qui utilise le disque persistant Compute Engine CSI Driver, et créera un volume de 1 Go avec celui-ci.
Nous avons désactivé nmap, car la machine GKE par défaut a une valeur de vm.max_map_count trop basse. Il est recommandé de ne pas la désactiver pour la production, mais d'augmenter la valeur de vm.max_map_count. Vous pouvez en savoir plus sur la façon de procéder ici.
9. Déployons également un cluster Kibana à nœud unique. Pour Kibana, nous ajouterons un équilibreur de charge qui nous donnera une adresse IP externe que nous pourrons utiliser pour accéder à Kibana depuis notre appareil.
Notez l'annotation :
cloud.google.com/l4-rbs: "enabled"
Cette adresse est très importante car elle indique à Autopilot de fournir un équilibreur de charge accessible au public. Si l'adresse IP n'est pas définie, l'équilibreur de charge sera interne.
10. Vérifiez que vos pods sont en cours d'exécution.

11. Vous pouvez également run kubectl get elasticsearch et kubectl get kibana pour des statistiques plus spécifiques, telles que la version d'Elasticsearch, les nœuds et l'état d'intégrité.


12. Accédez à vos services.

Cela vous indiquera l'URL externe de Kibana sous EXTERNAL-IP. Le provisionnement de l'équilibreur de charge prend quelques minutes. Copiez la valeur de EXTERNAL-IP.
13. Obtenez le mot de passe Elasticsearch pour l’utilisateur "elastic" :

14. Accédez à Kibana depuis votre navigateur :
- URL : https://<EXTERNAL_IP>:5601
- Nom d'utilisateur:elastic
- Mot de passe : 28Pao50lr2GpyguX470L2uj5 (de l’étape précédente)

15. En accédant depuis votre navigateur, l'écran de bienvenue apparaît.

Si vous souhaitez modifier les spécifications du cluster Elasticsearch, comme modifier ou redimensionner les nœuds, vous pouvez réappliquer le fichier manifeste yml avec les nouveaux paramètres :
Dans cet exemple, nous allons ajouter un nœud supplémentaire et modifier la mémoire vive et le processeur. Comme vous pouvez le voir, kubectl get elasticsearch affiche maintenant 2 nœuds :

Il en va de même pour Kibana :
Nous pouvons ajuster le processeur/la RAM du conteneur ainsi que l'utilisation de la mémoire Node.js (max-old-space-size).
N'oubliez pas que les revendications de volume existantes ne peuvent pas être réduites. Après avoir appliqué la mise à jour, l'opérateur effectuera les modifications avec un temps de perturbation minimal.
N’oubliez pas de supprimer le cluster une fois les tests terminés pour éviter des coûts inutiles.
Étapes suivantes
Si vous souhaitez en savoir plus sur Kubernetes et Google Kubernetes Engine, consultez ces articles :





