Tableau Server et diagramme de Helm

Diagramme de Helm de Tableau Server - Présentation

Important : Cette documentation suppose une connaissance de Helm et des diagrammes de Helm. Elle ne cherche pas à fournir d’exemples détaillés et prescriptifs. Elle est destinée aux clients qui maîtrisent à la fois Tableau Server, Helm et les diagrammes de Helm.

Introduction

Le diagramme de Helm de Tableau Server vous permet de déployer et de gérer Tableau Server sur des groupements Kubernetes à l’aide de Helm, le gestionnaire de paquets pour Kubernetes. Ce diagramme de Helm regroupe toutes les ressources Kubernetes requises pour faire fonctionner Tableau Server dans un environnement conteneurisé. Il fournit un processus de déploiement déclaratif et reproductible.

Qu’est-ce que Helm?

Helm est un gestionnaire de paquets pour Kubernetes qui simplifie le déploiement et la gestion des applications. Helm utilise des diagrammes, qui sont des paquets de ressources Kubernetes préconfigurées. Un diagramme de Helm pour Tableau Server regroupe tous les composants nécessaires, notamment :

  • Déploiements et StatefulSets
  • Services et configurations d’entrée
  • ConfigMaps et secrets
  • PersistentVolumeClaims pour le stockage de données
  • Stratégies RBAC et ServiceAccounts

Architecture

Composants

Le diagramme de Helm de Tableau Server déploie les principaux composants suivants :

Conteneur Tableau Server

  • Exécute une instance Tableau Server complète dans un conteneur Linux
  • Basé sur une image UBI 8 avec 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 : rend Tableau Server accessible dans le groupement
  • Entrée (facultatif) : fournit un accès externe à Tableau Server
  • ConfigMap : stocke les configurations non sensibles
  • Secret : stocke les données sensibles comme les licences et les mots de passe

Topologie du déploiement

Déploiement à nœud unique

  • Un pod Tableau Server avec tous les processus sur un seul nœud
  • Adapté aux environnements de développement, de test et aux charges de production légère
  • Configuration la plus simple, exigeant un minimum de ressources

Déploiement multinœuds

  • Plusieurs pods Tableau Server répartis sur divers nœuds
  • Stockage réseau partagé pour la coordination du fichier bootstrap
  • Une meilleure disponibilité et une meilleure évolutivité pour les tâches de production
  • Configuration supplémentaire requise 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 limiter la communication entre les pods
  • RBAC : le graphique crée un compte de service; configurez le RBAC si nécessaire
  • Sécurité des images : utilisez des images de conteneur de confiance et effectuez des analyses de vulnérabilités
  • TLS/SSL : activez TLS pour l’entrée dans les environnements de production

Avantages de l’utilisation de Helm

Déploiement simplifié

  • Installez Tableau Server avec une commande helm install simple
  • Configuration déclarative en utilisant des fichiers de valeurs
  • Infrastructure en tant que code contrôlée par version

Mises à jour et restaurations faciles

  • Mise à niveau des versions de Tableau Server avec helm upgrade
  • Restauration vers des versions antérieures en cas de problème
  • Suivi de l’historique des déploiements

Environnements cohérents

  • Le même diagramme se déploie dans les environnements de développement, de préproduction 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

Plateformes prises en charge

Distributions Kubernetes

  • Groupements Kubernetes autogérés (1.19+)
  • Amazon EKS (service Elastic Kubernetes)
  • Azure AKS (Azure Kubernetes Service)
  • Google GKE (Google Kubernetes Engine)
  • Red Hat OpenShift

Exigences de production

Limites

Même si le diagramme de Helm présente de nombreux avantages, il convient de tenir compte des éléments suivants :

  • Chaque pod exécute une instance Tableau Server complète, et non des microservices individuels.
  • Le redémarrage du conteneur requiert une réinitialisation des processus (mais pas des données).
  • Le dimensionnement horizontal des pods n’est pas pris en charge en raison de l’architecture de Tableau Server.
  • Les déploiements multinœuds requièrent 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 diagramme de Helm de Tableau Server, consultez Diagramme de Helm de Tableau Server - Conditions préalables.

Pour des exemples de déploiement, consultez Diagramme de Helm de Tableau Server - Déploiement.

Pour obtenir des conseils de dépannage, consultez Diagramme de Helm de Tableau Server - Dépannage.

Ressources supplémentaires