Carta Helm di Tableau Server - Risoluzione dei problemi

Importante: questa documentazione presuppone la conoscenza di Helm e delle carte Helm e non intende fornire esempi dettagliati e prescrittivi. È destinata ai clienti che hanno familiarità sia con Tableau Server che con Helm e le carte Helm.

Introduzione

Questo argomento fornisce assistenza per diagnosticare e risolvere problemi comuni durante la distribuzione di Tableau Server su Kubernetes mediante una carta Helm. Tratta i problemi di installazione e di runtime e le tecniche di debug.

Passaggi per la risoluzione di problemi generali

Quando si verificano problemi con Tableau Server in Kubernetes:

  1. Controlla lo stato e gli eventi dei pod
  2. Esamina i log dei contenitori
  3. Verifica la disponibilità delle risorse
  4. Controlla le PVC
  5. Esamina lo stato della versione di Helm
  6. Esamina il servizio e la connettività di rete

I pod non si avviano

  1. Controlla lo stato dei pod:

    kubectl get pods -l app.kubernetes.io/instance=tableau-server
    kubectl describe pod <pod-name>
  2. Controlla i log:

    kubectl logs <pod-name>
  3. Controlla gli eventi:

    kubectl get events --sort-by='.lastTimestamp'

Problemi dei PV

  1. Controlla lo stato della PVC:

    kubectl get pvc
    kubectl describe pvc <pvc-name>
  2. Verifica la classe di archiviazione:

    kubectl get storageclass

Problemi relativi al codice prodotto

  1. Verifica che il codice prodotto sia impostato:

    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE_KEY}' | base64 -d
  2. Aggiorna il codice prodotto:

    # Edit values.yaml and upgrade
    helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml

Errori del controllo di integrità

  1. Controlla lo script di controllo dell’integrità:

    kubectl exec <pod-name> -- /docker/alive-check
    kubectl exec <pod-name> -- /docker/server-ready-check
  2. Regola i tempi del controllo di integrità:

    healthChecks:
    liveness:
    initialDelaySeconds: 600 # Increase if server takes longer to start

Problemi di bootstrap multi-nodo

  1. Verifica il volume di bootstrap:

    kubectl get pvc | grep bootstrap
  2. Controlla il file di bootstrap:

    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
  3. Verifica la modalità di accesso ReadWriteMany:

    persistence:
    bootstrap:
    accessMode: ReadWriteMany # Required for multi-node

     

  4. Verifica il binding PV/PVC di bootstrap per il provisioning statico EFS:

    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. Se il montaggio non riesce dopo il binding della PVC, controlla gli errori CSI/IAM EFS:

    kubectl describe pod -n default tableau-server-primary-0
    kubectl get events -n default --sort-by='.lastTimestamp'
  6. Errori driver name efs.csi.aws.com not found:

    Installa e verifica l’add-on EKS come descritto in Prerequisiti di Amazon Elastic Kubernetes Service (EKS).

  7. Correggi gli errori di autorizzazione DescribeMountTargets

    • Metodo preferito:

      aws iam attach-role-policy \
      --role-name <your-node-instance-role> \
      --policy-arn
      arn:aws:iam::aws:policy/AmazonElasticFileSystemClientReadWriteAccess

      Riavvia quindi i pod interessati (nodo primario e tutti i nodi di lavoro). I worker vengono selezionati in base all’etichetta in modo da coprire qualsiasi numero di repliche.

    • Metodo alternativo

      Forza il montaggio dell’IP di destinazione nella configurazione PV di bootstrap:

      Imposta persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip (o PV manuale volumeAttributes.mounttargetip) e riapplica o aggiorna.

Risorse aggiuntive

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!