---
schema_version: "1"
id: ddc2b36e2a48f38b35aa28cd0a7a7cff840b5c74d9faca4681658a254d9f3f0d
title: Helm Chart Troubleshooting
collection: tableau
version: current
locale: en-gb
portal_url: https://docs.salesforce.com/tableau/current/en-gb/server/server-helm-troubleshooting.md
canonical_url: https://help.tableau.com/current/server/en-gb/server-helm-troubleshooting.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 4054bd99097162d3cc301b01d0ba4c51c58f5b10d4269d016accde79a014e8ee
description: "Important: This documentation assumes a knowledge of Helm and Helm charts and does not attempt to provide detailed, prescriptive examples"
---
[Skip to main content](#main-content)

# Tableau Server Helm Chart – Troubleshooting

**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

This topic provides help for you to diagnose and resolve common issues when deploying Tableau Server on Kubernetes using a Helm chart. It covers installation problems, runtime issues and debugging techniques.

## General Troubleshooting Steps

When encountering issues with Tableau Server in Kubernetes:

1. Check pod status and events
2. Review container logs
3. Verify resource availability
4. Check persistent volume claims
5. Review Helm release status
6. Examine service and network connectivity

## Pods not starting

1. Check pod status:
    
    kubectl get pods -l app.kubernetes.io/instance=tableau-server  
    kubectl describe pod <pod-name>
2. Check logs:
    
    kubectl logs <pod-name>
3. Check events:
    
    kubectl get events --sort-by='.lastTimestamp'

## Persistent volume issues

1. Check PVC status:
    
    kubectl get pvc  
    kubectl describe pvc <pvc-name>
2. Verify storage class:
    
    kubectl get storageclass

## Licence key issues

1. Verify licence key is set:
    
    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE\_KEY}' | base64 -d
2. Update licence key:
    
    \# Edit values.yaml and upgrade  
    helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml

## Health check failures

1. Check health check script:
    
    kubectl exec <pod-name> -- /docker/alive-check  
    kubectl exec <pod-name> -- /docker/server-ready-check
2. Adjust health check timing:
    
    healthChecks:  
      liveness:  
        initialDelaySeconds: 600  # Increase if server takes longer to start

## Multi-node bootstrap issues

1. Verify bootstrap volume:
    
    kubectl get pvc | grep bootstrap
2. Check bootstrap file:
    
    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
3. Verify ReadWriteMany access mode:
    
    persistence:  
      bootstrap:  
        accessMode: ReadWriteMany  # Required for multi-node
4. Verify bootstrap PV/PVC binding for EFS static provisioning:
    
    kubectl get pv tableau-bootstrap-pv  
    kubectl get pvc -n default tableau-server-bootstrap  
    kubectl describe pv tableau-bootstrap-pv  
    kubectl describe pvc -n default tableau-server-bootstrap
5. If mount fails after PVC is Bound, check for EFS CSI/IAM errors:
    
    kubectl describe pod -n default tableau-server-primary-0  
    kubectl get events -n default --sort-by='.lastTimestamp'
6. `driver name efs.csi.aws.com not found` errors:
    
    Install and verify the EKS add-on as described in [Amazon Elastic Kubernetes Service (EKS) prerequisites](https://help.tableau.com/current/server/en-gb/server-helm-prerequisites.htm#EKS-Prereq-storageclass).
7. Fix `DescribeMountTargets` authorisation failures
    
    - Preferred method:
        
        aws iam attach-role-policy \\  
          --role-name <your-node-instance-role> \\  
          --policy-arn   
        arn:aws:iam::aws:policy/AmazonElasticFileSystemClientReadWriteAccess
        
        Then restart affected pods (primary node and all worker nodes). Workers are selected by label so any replica count is covered.
    - Alternative method
        
        Force mount the target IP in bootstrap PV config:
        
        Set `persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip` (or manual PV `volumeAttributes.mounttargetip`) and re-apply/upgrade.

## Additional Resources

- [Tableau Server Documentation](https://help.tableau.com/current/server-linux/en-gb/)
- [Tableau Server Logs Reference](https://help.tableau.com/current/server-linux/en-gb/logs.htm)
- [Kubernetes Troubleshooting](https://kubernetes.io/docs/tasks/debug/)
- [Helm Troubleshooting](https://helm.sh/docs/faq/troubleshooting/)
- [Helm Documentation](https://helm.sh/docs/)