Tableau Server et graphique Helm

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

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