Graphique Helm de Tableau Server - Présentation
Important : cette documentation présuppose une connaissance de Helm et des graphiques de Helm et ne prétend pas fournir des exemples détaillés et prescriptifs. Elle s’adresse aux clients qui connaissent à la fois Tableau Server, Helm et les graphiques Helm.
Introduction
Le graphique Helm de Tableau Server vous permet de déployer et de gérer Tableau Server sur des clusters Kubernetes à l’aide de Helm, le gestionnaire de packages pour Kubernetes. Ce graphique Helm regroupe toutes les ressources Kubernetes nécessaires à l’exécution de Tableau Server dans un environnement conteneurisé, fournissant ainsi un processus de déploiement déclaratif et reproductible.
Qu’est-ce que Helm ?
Helm est un gestionnaire de packages pour Kubernetes qui simplifie le déploiement et la gestion des applications. Helm utilise des graphiques, qui sont des packages de ressources Kubernetes préconfigurées. Un graphique Helm pour Tableau Server regroupe tous les composants nécessaires, y compris :
- Déploiements et StatefulSets
- Configurations de Services et d’Ingress
- ConfigMaps et Secrets
- PersistentVolumeClaims pour le stockage de données
- Stratégies RBAC et ServiceAccounts
Architecture
Composants
Le graphique Helm de Tableau Server déploie les composants principaux suivants :
Conteneur Tableau Server
- Exécute une instance Tableau Server complète dans un conteneur Linux
- Basé sur l’image UBI 8 avec des processus de gestion
supervisord - Initialise et démarre automatiquement Tableau Server au démarrage du conteneur
Ressources Kubernetes
- StatefulSet : gère les pods Tableau Server avec des identités réseau stables
- PersistentVolumeClaim : fournit un stockage persistant pour les données Tableau sur
/var/opt/tableau - Service : expose Tableau Server au sein du cluster
- Ingress (facultatif) : fournit un accès externe à Tableau Server
- ConfigMap : stocke les configurations non sensibles
- Secret : stocke des données sensibles telles que les licences et les mots de passe
Topologie de déploiement
Déploiement sur un seul nœud
- Un pod Tableau Server avec tous les processus sur un seul nœud
- Convient aux charges de travail de développement, de test et de production de petite dimension
- Configuration la plus simple avec des ressources requises minimum
Déploiement multi-nœud
- Plusieurs pods Tableau Server répartis sur des nœuds
- Stockage réseau partagé pour la coordination du fichier bootstrap
- Disponibilité et évolutivité accrues pour les charges de travail de production
- Nécessite une configuration supplémentaire pour la coordination des nœuds
Considérations de sécurité
- Gestion des secrets : utilisez toujours des secrets Kubernetes pour les données sensibles en production
- Stratégies réseau : envisagez de mettre en place des stratégies réseau pour restreindre la communication des pods
- RBAC : le graphique crée un compte de service ; configurez le contrôle d’accès en fonction des rôles (RBAC) selon les besoins
- Sécurité des images : utilisez des images de conteneur approuvées et recherchez les vulnérabilités
- TLS/SSL : activez TLS pour l’ingress dans les environnements de production
Avantages de l’utilisation de Helm
Déploiement simplifié
- Installation de Tableau Server avec une seule commande
helm install - Configuration déclarative via des fichiers de valeurs
- Infrastructure en tant que code, contrôlée par version
Facilité de mise à jour et de restauration
- Mise à niveau des versions de Tableau Server avec
helm upgrade - Restauration des versions précédentes en cas de problème
- Suivi de l’historique des déploiements
Environnements cohérents
- Le même graphique est déployé dans les environnements de développement, intermédiaires et de production
- Personnalisation spécifique à l’environnement via des fichiers de valeurs
- Réduction de la dérive de configuration
Meilleures pratiques intégrées
- Demandes et limites de ressources préconfigurées
- Contrôles d’intégrité et sondes de préparation
- Contextes de sécurité et stratégies RBAC
Plates-formes prises en charge
Distributions Kubernetes
- Clusters Kubernetes autogérés (1.19+)
- Amazon EKS (Elastic Kubernetes Service)
- Azure AKS (Azure Kubernetes Service)
- Google GKE (Google Kubernetes Engine)
- Red Hat OpenShift
Exigences de production
- Kubernetes 1.19 ou ultérieur
- Helm 3.x
- Provisionneur de stockage persistant (pour PersistentVolumes)
- Contrôleur LoadBalancer ou Ingress (pour un accès externe)
- Au minimum 16 Go de RAM et 4 cœurs de processeur par nœud (8 cœurs de processeur recommandés - consultez Configuration matérielle minimale requise et recommandée pour Tableau Server)
Limites
Bien que le graphique Helm offre de nombreux avantages, gardez à l’esprit les points suivants :
- Chaque pod exécute une instance Tableau Server complète, et non des microservices individuels.
- Le redémarrage du conteneur nécessite la réinitialisation des processus (mais pas des données).
- La mise à l’échelle automatique des pods horizontaux n’est pas prise en charge en raison de l’architecture de Tableau Server.
- Les déploiements multi-nœud nécessitent un stockage réseau partagé pour la coordination.
- Certaines configurations avancées de Tableau Server peuvent nécessiter des scripts d’initialisation personnalisés.
Prise en main
Pour commencer à utiliser le graphique Helm de Tableau Server, consultez Graphique Helm de Tableau Server - Conditions préalables.
Pour des exemples de déploiement, consultez Graphique Helm de Tableau Server - Déploiement.
Pour obtenir des conseils de dépannage, consultez Graphique Helm de Tableau Server - Résolution des problèmes.
Ressources supplémentaires
- Configuration système requise pour Tableau Server(Le lien s’ouvre dans une nouvelle fenêtre)
- Référentiel GitHub Tableau Server dans Kubernetes(Le lien s’ouvre dans une nouvelle fenêtre)
- Documentation de Helm(Le lien s’ouvre dans une nouvelle fenêtre)
- Documentation de Kubernetes(Le lien s’ouvre dans une nouvelle fenêtre)
