---
schema_version: "1"
id: 0b280e726e06ecb658044d89ba71bda8f61024adf817d3424119179908081645
title: Driftsätta Helm-diagram
collection: tableau
version: current
locale: sv-se
portal_url: https://docs.salesforce.com/tableau/current/sv-se/server/server-helm-deploy.md
canonical_url: https://help.tableau.com/current/server/sv-se/server-helm-deploy.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 91b4ea731b719e8ca72c5b7c355bd8110f22dac6679261a55f03295a1ac20228
description: "Viktigt: Den här dokumentationen förutsätter kunskap om Helm och Helm-diagram och tillhandahåller inte detaljerade, normativa exempel"
---
[Hoppa till huvudinnehåll](#main-content)

# Helm-diagram för Tableau Server – driftsättning

**Viktigt**: Den här dokumentationen förutsätter kunskap om Helm och Helm-diagram och tillhandahåller inte detaljerade, normativa exempel. Den är utformad för kunder som är bekanta med både Tableau Server, Helm och Helm-diagram.

Det här avsnittet vägleder dig genom de övergripande stegen för att driftsätta Tableau Server på Kubernetes med hjälp av ett Helm-diagram.

## Förutsättningar

Kontrollera att du uppfyller kraven innan du börjar. Mer information finns i:[Helm-diagram för Tableau Server – förutsättningar](https://help.tableau.com/current/server/sv-se/server-helm-prerequisites.htm).

### Ladda ner Helm-diagram

Helm-diagrammen levereras som en del av Tableau Server i ett konfigurationsverktyg för behållare (`tableau-server-container-setup-tool-<version>.tar.gz`) och kan laddas ner från [nedladdningssidan för Tableau Server](http://tableau.com/sv-se/support/releases/server/latest).

Efter extraheringen finns de nödvändiga Helm-diagramfilerna i katalogen `helm/tableau`.

## Snabb översikt: Använda ett Helm-diagram för att driftsätta Tableau Server

**Viktigt**: Det här är en grundläggande beskrivning på hög nivå av hur du driftsätter Tableau Server med hjälp av Helm-diagram. Den är inte avsedd att vara en fullständig procedur. Det förutsätter kunskap om Helm och Helm-diagram.

Innan du börjar ska du kontrollera att du uppfyller förutsättningarna för att driftsätta Tableau Server med Helm-diagram. Mer information finns i [Helm-diagram för Tableau Server – förutsättningar](https://help.tableau.com/current/server/sv-se/server-helm-prerequisites.htm).

### Lägg till din licensnyckel i values.yaml

Redigera `values.yaml` och ställ in din licensnyckel.

### Driftsätta en Tableau Server-instans med en nod

Driftsätt en Tableau Server-instans med en nod genom att köra följande kommandon via en prompt (ersätt namnutrymmet `<namespace>` med din version, till exempel `tableau` eller `default`):

helm install tableau-server ./helm/tableau-server \\  
  -n <namespace> \\  
  --create-namespace \\
  -f ./helm/tableau-server/values-single.yaml

### Driftsätta en Tableau Server-instans med flera noder

Driftsätt en Tableau Server-instans med flera noder genom att köra följande kommandon via en prompt och använda samma namnutrymmeskonvention som ovan:

helm install tableau-server ./helm/tableau-server \\  
\-n <namespace> \\  
\--create-namespace \\
-f ./helm/tableau-server/values-multinode.yaml

## EKS-runbook med flera noder (namnutrymme + statisk start-PV)

I det här avsnittet beskrivs åtgärdsordningen för EKS: dedikerat namnutrymme, EFS CSI-tillägg, IAM på nodrollen, statisk start-PV och Helm.

1. Skapa ett dedikerat namnutrymme.
    
    Detta måste stämma överens med `claimFef.namespace` på start-PV:n. I det här exemplet används `tableau`.
    
    kubectl create namespace tableau-server
    kubectl get namespace tableau
2. Bekräfta att EFS CSI-tillägget finns.
    
    Om tillägget saknas ska du skapa det och vänta tills statusen är `ACTIVE`:
    
    kubectl get csidriver efs.csi.aws.com
    aws eks describe-addon \\
      --cluster-name <cluster-name> \\  
      --addon-name aws-efs-csi-driver \\
      --region <region> \\
      --query 'addon.status'
3. Bekräfta Storageclass:
    
    `efs-bootstrap` Storageclass – tillämpa om det inte redan finns. Mer information finns i [Förutsättningar för Amazon Elastic Kubernetes Service (EKS)](https://help.tableau.com/current/server/sv-se/server-helm-prerequisites.htm#EKS-Prereq-storageclass).
    
    kubectl get csidriver efs.csi.aws.com
    aws eks describe-addon \\
      --cluster-name <cluster-name> \\  
      --addon-name aws-efs-csi-driver \\
      --region <region> \\
      --query 'addon.status'
4. Bekräfta den statiska start-PV:en.
    
    `claimRef` måste referera till samma namnutrymme och PVC-namn som Helm-diagrammet skapar (`tableau-server-bootstrap`). Ersätt `fs-...` med ditt EFS-filsystem-ID:
    
    cat > /tmp/tableau-bootstrap-pv.yaml <<'EOF'
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: tableau-bootstrap-pv
    spec:
      capacity:
        storage: 1Gi
      volumeMode: Filesystem
      accessModes:
        - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain
    storageClassName: efs-bootstrap
    claimRef:
      namespace: tableau
      name: tableau-server-bootstrap
    csi:
      driver: efs.csi.aws.com
      volumeHandle: <fs-xxxxxxxxxxxxxxxxx>
    EOF
    kubectl apply -f /tmp/tableau-bootstrap-pv.yaml
    kubectl get pv tableau-bootstrap-pv
5. IAM på nodinstansrollen.
    
    Bifoga skrivskyddade EFS-klient- och EC2-policyer. Se [Förutsättningar för Amazon Elastic Kubernetes Service (EKS)](https://help.tableau.com/current/server/sv-se/server-helm-prerequisites.htm#EKS-Prereq-storageclass) för matchning av `<your-node-instance-role>` från nodgruppen.
    
    `efs-bootstrap` Storageclass – tillämpa om det inte redan finns. Mer information finns i [Förutsättningar för Amazon Elastic Kubernetes Service (EKS)](https://help.tableau.com/current/server/sv-se/server-helm-prerequisites.htm#EKS-Prereq-storageclass).
    
    kubectl get csidriver efs.csi.aws.com
    aws eks describe-addon \\
      --cluster-name <cluster-name> \\  
      --addon-name aws-efs-csi-driver \\
      --region <region> \\
      --query 'addon.status'
6. Värden
    
    I `values-multinode.yaml` (eller en överlagring) ställer du in statiskt PV-läge manuellt
    
    persistence:
      bootstrap:  
        createPV: false  
        volumeName: tableau-bootstrap-pv  
        storageClass: efs-bootstrap
7. Kontrollera att `image.repository`, `image.tag` och hemligheter/licens är inställda efter behov.
8. Installera Helm-diagrammet
    
    Installera diagrammet i samma namnutrymme som PV `claimRef`:
    
    helm install tableau-server ./helm/tableau-server \\
      -n tableau \\  
      -f ./helm/tableau-server/values-multinode.yaml
9. Verifiera lagring och datacenter:
    
    kubectl get pv,pvc -n tableau
    kubectl get pods -n tableau -w
10. Status för data-PVC
    
    Data-PVC:er kan visa `Pending` en kort stund tills EBS-volymerna fästs. Alla PVC:er bör övergå till `Bound`, sen `Running` och så småningom `READY 1/1`.
11. Topologi (valfritt)
    
    Om hooken efter installation är inaktiverad kan du behöva ställa in noden `clustercontroller` och tillämpa väntande ändringar (se Topologiautomatisering efter installation (hook) senare i det här dokumentet). Kommandot `tsm pending-changes apply` kan resultera i varningar om driftsättning av index- och sökserver eller samordningstjänstensemblen när du har flera Tableau noder. Åtgärda de här varningarna enligt beskrivningen i [Index- och sökserver](https://help.tableau.com/current/server/sv-se/server_process_index-and-search.htm) och [Samordningstjänst för Tableau Server](https://help.tableau.com/current/server/sv-se/server_process_coordination.htm).

### Anpassad installation

1. Anpassa värden
    
    cp ./helm/tableau-server/values.yaml   
    ./helm/tableau-server/my-values.yaml  
    \# Edit ./helm/tableau-server/my-values.yaml with your configuration
2. Installera med anpassade värden
    
    helm install tableau-server ./helm/tableau-server -f ./helm/tableau-server/my-values.yaml

## Konfiguration

### Driftsättningslägen

#### Driftsättning med en nod

Driftsättning med en nod kör Tableau Server som en monolitisk behållare.

Använd `values-single.yaml` eller ställ in:

deploymentMode: "single"  
primary:  
  replicaCount: 1  
worker:  
  replicaCount: 0

#### Driftsättning med flera noder

Driftsättning med flera noder kör en primär och en eller flera system. Ställ in systemantalet med `worker.replicaCount` – använd 1, 2 eller ett högre värde som din klusterkapacitet och Tableau-topologi tillåter. Diagrammet skapar `tableau-server-worker-0 … tableau-server-worker-(N-1)` för `replicaCount: N`.

Använd `values-multinode.yaml` (standardexemplet använder två system) eller ange uttryckligen:

deploymentMode: "multinode"  
primary:  
  replicaCount: 1  
worker:  
  replicaCount: 3    # example: three workers

Topologijustering: `values-multinode.yaml` levereras med exempeltopologin `config.configJson` (nod-ID:n som `node1`, `node2`, `node3`). Om du ändrar `worker.replicaCount` eller omorganiserar tjänster ska du uppdatera den topologin (och eventuella relaterade Tableau-processtilldelningar) så att antalet och rollerna för TSM-noderna matchar din driftsättning – se Tableau Server-hjälpen för klustring och processlayout.

### Viktiga konfigurationsalternativ

#### Bildkonfiguration

image:  
  repository: tableau\_server\_image  
  tag: "latest"  
  pullPolicy: IfNotPresent  
  pullSecrets: \[\]

#### Licens och hemligheter

secrets:
  licenseKey: "YOUR-LICENSE-KEY"  
  tsmRemotePassword: "password"  
  tableauUsername: "admin"  
  tableauPassword: "password"

Alternativt kan du ställa in dessa med hjälp av miljövariabler:

env:  
  LICENSE\_KEY: "YOUR-LICENSE-KEY"  
  TSM\_REMOTE\_PASSWORD: "password"  
  TABLEAU\_USERNAME: "admin"  
  TABLEAU\_PASSWORD: "password"

Vi rekommenderar att du använder en separat fil (till exempel `secrets.yaml`) och skickar den med switchen `-f`.

`secrets.yaml`:

secrets:  
  licenseKey: "YOUR-LICENSE-KEY"  
  tsmRemotePassword: "YOUR-TSM-PASSWORD"  
  tableauUsername: "YOUR-ADMIN-USER"  
  tableauPassword: "YOUR-ADMIN-PASSWORD"

Installera/uppgradera exempel med `secrets.yaml`:

helm upgrade --install tableau-server ./helm/tableau-server \\  
  -n default \\  
  -f ./helm/tableau-server/values-multinode.yaml \\  
  -f ./helm/tableau-server/secrets.yaml

**Obs!** Det finns för närvarande inte stöd för att referera till en befintlig Kubernetes-hemlighet (till exempel s`ecrets.existingSecret`). Den enda metod som stöds är att använda diagramvärden med en separat värdefil för hemligheter.

#### Extern PostgreSQL-lagringsplats

Helm-diagrammet aktiverar inte en extern lagringsplats som standard med dedikerade värdenycklar.

Vi rekommenderar att du gör följande för att aktivera en extern lagringsplats:

1. Driftsätt diagrammet och bekräfta att det primära är felfritt.
2. Kör Tableaus `tsm external repository`\-kommandon från det primära datacentret.
3. Använd väntande ändringar.

Exempelarbetsflöde (kommandoidentifiering och -tillämpning):

\# Discover command syntax for your Tableau version
kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm topology external-services repository enable --help'  
\# After enabling external repository with Tableau-supported args/options:  
kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm pending-changes apply -iw --ignore-prompt'  
kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm status -v'

Obs!

- Konfigurationen av externa lagringsplatser är Tableau-versionsspecifik (SSL-läge, reservomkopplingsalternativ, inloggningsfält). Mer information finns i [Extern Tableau Server-lagringsplats](https://help.tableau.com/current/server/sv-se/server_external_repo.htm) och [tsm topology](https://help.tableau.com/current/server/sv-se/cli_topology_tsm.htm).
- För kunddriftsättningar ska du lagra inloggningsuppgifter för databasen i Kubernetes-hemligheter och undvika oformaterad text i kommandotolkshistoriken.

#### Beständig lagring

persistence:  
  enabled: true  
  storageClass: "standard"  
  accessMode: ReadWriteOnce  
  size: 100Gi  
  
  # Bootstrap volume (required for multi-node)  
  bootstrap:  
    enabled: true  
    storageClass: "standard"  
    accessMode: ReadWriteMany  
    size: 1Gi  
    createPV: false

För kluster som använder statisk EFS CSI (till exempel med `mounttargetip`) kan Helm hantera både start-PV och PVC:

persistence:  
  bootstrap:  
    enabled: true  
    storageClass: "efs-bootstrap"  
    accessMode: ReadWriteMany  
    size: 1Gi  
    createPV: true  
    permissionsFix:  
      enabled: true  
    pv:  
      name: "tableau-bootstrap-pv"  
      csi:  
        driver: efs.csi.aws.com  
        volumeHandle: "fs-xxxxxxxx"  
        volumeAttributes:  
          mounttargetip: "10.x.x.x"

`permissionsFix.enabled` lägger till en init-behållare som `chown/chmods /docker/config/bootstrap`, som gör att Tableau-processen (UID/GID 999:998) kan skriva `bootstrap.json` på delade EFS-monteringar som standard i `root:root`.

När `createPV: true` skapar diagrammet start-PV:n från värden (till exempel `tableau-bootstrap-pv`) och binder `tableau-server-bootstrap` PVC till det.

Om du hanterar start-PV:n manuellt ska du skapa `tableau-bootstrap-pv` först och sedan installera Helm med `createPV: false` och `volumeName: tableau-bootstrap-pv:`.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: tableau-bootstrap-pv
spec:
  capacity:
    storage: 1Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: efs-bootstrap
  csi:
    driver: efs.csi.aws.com
    volumeHandle: fs-xxxxxxxx
    volumeAttributes:
      mounttargetip: 10.x.x.x

kubectl apply -f tableau-bootstrap-pv.yaml
kubectl get pv tableau-bootstrap-pv

#### Resursgränser

primary:
  resources:
    limits:
      cpu: "4"
      memory: "8Gi"
    requests:
      cpu: "2"
      memory: "4Gi"

worker:
  resources:
    limits:
      cpu: "4"
      memory: "8Gi"
    requests:
      cpu: "2"
      memory: "4Gi"

#### Servicekonfiguration

service:
  primary:
    type: ClusterIP  # or NodePort, LoadBalancer
    ports:
      http: 80
      https: 8080
      tsm: 8850

#### Ingress

ingress:
  enabled: true
  className: "nginx"
  hosts:
    - host: tableau.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: tableau-tls
      hosts:
        - tableau.example.com

#### Runbook för Ingress-konfiguration (exempel: NGINX Ingress-styrenhet)

1. Installera en Ingress-styrenhet i klustret (krävs innan du aktiverar Ingress för diagram).
2. Ange Ingress-värden i värdefilen:
    
    ingress:  
      enabled: true  
      className: "nginx"  
      annotations:  
        nginx.ingress.kubernetes.io/proxy-body-size: "64m"  
        nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"  
        nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"  
      hosts:  
        - host: tableau.example.com  
          paths:  
            - path: /  
              pathType: Prefix  
      tls:  
        - secretName: tableau-tls  
          hosts:  
            - tableau.example.com
3. Skapa DNS-post som hänvisar tableau.example.com till slutpunkten för Ingress/belastningsutjämnaren.
4. Skapa en TLS-hemlighet (eller använd cert-manager) i versionsnamnutrymmet.
5. Driftsätt/uppgradera diagrammet och verifiera Ingress:
    
    helm upgrade --install tableau-server ./helm/tableau-server -n default -f ./helm/tableau-server/values.yaml  
    kubectl get ingress -n default  
    kubectl describe ingress tableau-server

Mer information finns i:

- [Information om Kubernetes Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)
- [Driftsättningsguide för ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/)
- [Komma igång med cert-manager](https://cert-manager.io/docs/tutorials/getting-started-aks-letsencrypt/)

#### Hälsokontroller

Diagrammet har stöd för avsökningar för start, livaktighet och beredskap. Startavsökningen tillåter lång förstagångsinitiering (t.ex. failureThreshold: 200 × periodSeconds) innan livaktighet/beredskap körs:

healthChecks:
  startup:
    enabled: true
    initialDelaySeconds: 300
    periodSeconds: 15
    timeoutSeconds: 30
    failureThreshold: 200
  liveness:
    enabled: true
    initialDelaySeconds: 300
    periodSeconds: 30
    timeoutSeconds: 10
    failureThreshold: 3
  readiness:
    enabled: true
    initialDelaySeconds: 300
    periodSeconds: 10
    timeoutSeconds: 5
    failureThreshold: 3

För systemdatacenter med flera noder är diagrammet som standard `worker.healthChecks.enabled: false` för att undvika falska avsökningsfel när systemen kör begränsade processuppsättningar (till exempel endast administratörsagent + klusterstyrenhet).

### Användning

#### Komma åt Tableau Server

Efter installationen får du åtkomst till Tableau Server baserat på din tjänstekonfiguration:

- **ClusterIP**: Använd portvidarebefordran eller Ingress
- **NodePort**: Åtkomst via `<node-ip>:<node-port>`
- **LoadBalancer**: Åtkomst via den externa IP-adress som tillhandahålls

#### Använda TSM-kommandon

\# Get pod name
POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}')

# Run tabcmd
kubectl exec -it $POD\_NAME -- tsm status
kubectl exec -it $POD\_NAME -- tsm configuration get

#### Använda tabcmd

\# Get pod name
POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}')

# Run tabcmd
kubectl exec -it $POD\_NAME -- tabcmd login -u admin -p password
kubectl exec -it $POD\_NAME -- tabcmd sites

#### Visa Tableau Server-loggar

\# Primary node logs
kubectl logs -l app.kubernetes.io/component=primary -f

# Worker node logs (multi-node)
kubectl logs -l app.kubernetes.io/component=worker -f

# All logs
kubectl logs -l app.kubernetes.io/instance=tableau-server -f

#### Kommandotolksåtkomst

\# Get pod name
POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}')

# Open shell
kubectl exec -it $POD\_NAME -- /bin/bash

### Uppgradera

#### Uppgradera Helm-diagrammet för Tableau Server

helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml

#### Uppgradera med nya värden

helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/new-values.yaml

### Topologiautomatisering efter installation (hook)

För installationer med flera noder kan det här diagrammet köra ett hook-jobb efter installation/uppgradering som:

- väntar på att arbetsnoder ska registreras i TSM
- anger tilldelning av `clustercontroller`\-arbetsprocess
- kör `tsm pending-changes apply -iw --ignore-prompt` när ändringar väntar.

Konfiguration:

hooks:
  autoApplyWorkerTopology:
    enabled: true
    kubectlImage: "bitnami/kubectl:latest"
    timeoutSeconds: 3600

Standard:

- Inaktiveras i `values.yaml`
- I `values-multinode.yaml` ska du markera `hooks.autoApplyWorkerTopology.enabled` (kan vara `true` eller `false` beroende på version, aktivera för `clustercontroller`\-konfiguration)

Verifiera hook-körning:

kubectl get jobs -n default
kubectl get pods -n default -l job-name=tableau-server-hook-topology
kubectl logs -n default job/tableau-server-hook-topology

Manuell återgång om hooken är inaktiverad eller slutar fungera – kör `tsm topology set-process` för varje TSM-nod (vanligtvis nod2 genom nod(1+N) när du har N system; bekräfta ID:n med `tsm topology list-nodes -v`):

kubectl exec -n default tableau-server-primary-0 -- sh -lc '
tsm topology set-process -n node2 -pr clustercontroller -c 1
tsm topology set-process -n node3 -pr clustercontroller -c 1
# Add one line per additional worker node, e.g. for four workers:
# tsm topology set-process -n node4 -pr clustercontroller -c 1
# tsm topology set-process -n node5 -pr clustercontroller -c 1
tsm pending-changes apply -iw --ignore-prompt
tsm topology list-nodes -v

tsm status -v

**Obs!** Använd `-iw` för `tsm pending-changes apply`. Det här `-ig`\-alternativet är inte giltigt i den här miljön.

### Avinstallera

helm uninstall tableau-server

**Varning**: Detta tar bort alla resurser, inklusive beständiga volymer. Se till att säkerhetskopiera dina data innan du avinstallerar.

#### Valideringssteg

Kör följande före publicering eller när du ändrar diagrammet:

1. Lint:
    
    helm lint helm/tableau-server -f helm/tableau-server/values-single.yaml  
    helm lint helm/tableau-server -f helm/tableau-server/values-multinode.yaml
2. Mall (torrkörning):
    
    helm template tableau-server helm/tableau-server -f helm/tableau-server/values-single.yaml  
    helm template tableau-server helm/tableau-server -f helm/tableau-server/values-multinode.yaml
3. Installera test (valfritt):
    
    1. I ett testnamnutrymme kör du `helm install` med values-single eller values-multinode.
    2. Kör `kubectl rollout status` (för StatefulSet väntar du på datacentret Ready) och grundläggande grovtest (t.ex. `tsm status` eller HTTP till tjänsten).

Mer information om felsökning finns i [Helm-diagram för Tableau Server – felsökning](https://help.tableau.com/current/server/sv-se/server-helm-troubleshooting.htm).

## Ytterligare resurser

- [Tableau Server-dokumentation](https://help.tableau.com/current/server-linux/sv-se/)
- [Helm-dokumentation](https://helm.sh/docs/)
- [Uppgradering av Helm-diagram](https://helm.sh/docs/helm/helm_upgrade/)