Tableau Server Helm Chart - Overview
Important: This documentation assumes a knowledge of Helm and Helm charts and does not attempt to provide detailed, prescriptive examples. It is designed for customers who are familiar with both Tableau Server and Helm and Helm charts.
Introduction
The Tableau Server Helm Chart enables you to deploy and manage Tableau Server on Kubernetes clusters using Helm, the package manager for Kubernetes. This Helm chart packages all the Kubernetes resources required to run Tableau Server in a containerized environment, providing a declarative and repeatable deployment process.
What is Helm?
Helm is a package manager for Kubernetes that simplifies the deployment and management of applications. Helm uses charts, which are packages of pre-configured Kubernetes resources. A Helm chart for Tableau Server bundles all necessary components including:
- Deployments and StatefulSets
- Services and Ingress configurations
- ConfigMaps and Secrets
- PersistentVolumeClaims for data storage
- RBAC policies and ServiceAccounts
Architecture
Components
The Tableau Server Helm Chart deploys the following main components:
Tableau Server Container
- Runs a complete Tableau Server instance inside a Linux container
- Based on UBI 8 image with
supervisordmanaging processes - Automatically initializes and starts Tableau Server on container startup
Kubernetes Resources
- StatefulSet: Manages Tableau Server pods with stable network identities
- PersistentVolumeClaim: Provides persistent storage for Tableau data at
/var/opt/tableau - Service: Exposes Tableau Server within the cluster
- Ingress (optional): Provides external access to Tableau Server
- ConfigMap: Stores non-sensitive configuration
- Secret: Stores sensitive data like licenses and passwords
Deployment Topology
Single-Node Deployment
- One Tableau Server pod with all processes on a single node
- Suitable for development, testing, and small production workloads
- Simplest configuration with minimal resource requirements
Multi-Node Deployment
- Multiple Tableau Server pods distributed across nodes
- Shared network storage for bootstrap coordination
- Higher availability and scalability for production workloads
- Requires additional configuration for node coordination
Security Considerations
- Secrets Management: Always use Kubernetes secrets for sensitive data in production
- Network Policies: Consider implementing network policies to restrict pod communication
- RBAC: The chart creates a service account; configure RBAC as needed
- Image Security: Use trusted container images and scan for vulnerabilities
- TLS/SSL: Enable TLS for ingress in production environments
Benefits of Using Helm
Simplified Deployment
- Install Tableau Server with a single
helm installcommand - Declarative configuration through values files
- Version-controlled infrastructure as code
Easy Updates and Rollbacks
- Upgrade Tableau Server versions with
helm upgrade - Roll back to previous versions if issues occur
- Track deployment history
Consistent Environments
- Same chart deploys to dev, staging, and production
- Environment-specific customization through values files
- Reduced configuration drift
Built-in Best Practices
- Pre-configured resource requests and limits
- Health checks and readiness probes
- Security contexts and RBAC policies
Supported Platforms
Kubernetes Distributions
- Self-managed Kubernetes clusters (1.19+)
- Amazon EKS (Elastic Kubernetes Service)
- Azure AKS (Azure Kubernetes Service)
- Google GKE (Google Kubernetes Engine)
- Red Hat OpenShift
Production Requirements
- Kubernetes 1.19 or later
- Helm 3.x
- Persistent storage provisioner (for PersistentVolumes)
- LoadBalancer or Ingress controller (for external access)
- Minimum 16GB RAM and 4 CPU cores per node (8 CPU cores recommended - see Minimum Hardware Requirements and Recommendations for Tableau Server)
Limitations
While the Helm chart provides many benefits, be aware of the following:
- Each pod runs a complete Tableau Server instance, not individual microservices.
- Container restart requires re-initialization of processes (but not data).
- Horizontal pod autoscaling is not supported due to Tableau Server's architecture.
- Multi-node deployments require shared network storage for coordination.
- Some advanced Tableau Server configurations may require custom init scripts.
Getting Started
To get started with the Tableau Server Helm Chart, see Tableau Server Helm Chart - Prerequisites.
For deployment examples, see Tableau Server Helm Chart - Deploy.
For troubleshooting guidance, see Tableau Server Helm Chart - Troubleshooting.
