Problemen met Helm-grafiek oplossen

Tableau Server: Helm-grafiek - Problemen oplossen

Belangrijk: in deze documentatie wordt uitgegaan dat de gebruiker basiskennis heeft over Helm en Helm-grafieken. Er worden geen gedetailleerde, prescriptieve voorbeelden gegeven. De documentatie is ontworpen voor klanten die bekend zijn met zowel Tableau Server, Helm en Helm-grafieken.

Inleiding

Dit onderwerp biedt hulp bij het diagnosticeren en oplossen van veelvoorkomende problemen bij het implementeren van Tableau Server op Kubernetes met behulp van een Helm-grafiek. Het behandelt installatieproblemen, runtime-problemen en foutopsporingstechnieken.

Algemene stappen voor probleemoplossing

Neem de volgende stappen bij problemen met Tableau Server in Kubernetes:

  1. Controleer de podstatus en gebeurtenissen
  2. Bekijk de containerlogboeken
  3. Controleer de beschikbaarheid van resources
  4. Controleer aanhoudende volumeclaims
  5. Bekijk de releasestatus van Helm
  6. Onderzoek de service- en netwerkconnectiviteit

Pods starten niet

  1. Controleer de podstatus:

    kubectl get pods -l app.kubernetes.io/instance=tableau-server
    kubectl describe pod <pod-name>
  2. Controleer de logboeken:

    kubectl logs <pod-name>
  3. Controleer de gebeurtenissen:

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

Aanhoudende volumeproblemen

  1. Controleer de PVC-status:

    kubectl get pvc
    kubectl describe pvc <pvc-name>
  2. Controleer de opslagklasse:

    kubectl get storageclass

Problemen met licentiesleutels

  1. Verifieer dat de licentiesleutel is ingesteld:

    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE_KEY}' | base64 -d
  2. Werk de licentiesleutel bij:

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

Mislukte statuscontroles

  1. Controleer het statuscontrolescript:

    kubectl exec <pod-name> -- /docker/alive-check
    kubectl exec <pod-name> -- /docker/server-ready-check
  2. Pas de timing van de statuscontrole aan:

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

Problemen met bootstrap-transacties met meerdere knooppunten

  1. Controleer het bootstrap-volume:

    kubectl get pvc | grep bootstrap
  2. Controleer het bootstrap-bestand:

    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
  3. Controleer de ReadWriteMany-toegangsmodus:

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

     

  4. Controleer de PV/PVC-binding van de bootsstrap op statische EFS-inrichting:

    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. Als de koppeling mislukt nadat de PVC is gebonden, controleer dan op EFS CSI/IAM-fouten:

    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-fouten:

    Installeer en verifieer de EKS-add-on zoals beschreven in Vereisten voor de Amazon Elastic Kubernetes Service (EKS)

  7. Los DescribeMountTargets-verificatiefouten op

    • Voorkeursmethode:

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

      Start vervolgens de betrokken pods opnieuw op (primair knooppunt en alle workerknooppunten). Workers worden op label geselecteerd, zodat het aantal replica's wordt gedekt.

    • Alternatieve methode

      Forceer de koppeling van het doel-IP-adres in de bootsstrap PV-configuratie:

      Stel persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip in (of voer een handmatige PV uit voor volumeAttributes.mounttargetip) en pas de instellingen opnieuw toe/upgrade.

Aanvullende bronnen