Solución de problemas del gráfico de Helm

Gráfico de Helm de Tableau Server: solución de problemas

Importante: Esta documentación asume un conocimiento de Helm y los gráficos de Helm y no intenta proporcionar ejemplos detallados y prescriptivos. Está diseñado para clientes que están familiarizados con Tableau Server y Helm y con los gráficos de Helm.

Introducción

Este tema proporciona ayuda para diagnosticar y resolver problemas comunes al implementar Tableau Server en Kubernetes mediante un gráfico de Helm. Cubre problemas de instalación, problemas de tiempo de ejecución y técnicas de depuración.

Pasos generales de solución de problemas

Al encontrar problemas con Tableau Server en Kubernetes:

  1. Compruebe el estado y los eventos del pod
  2. Revise los registros del contenedor
  3. Verifique la disponibilidad de los recursos
  4. Compruebe reclamaciones de volumen persistentes
  5. Revise el estado de la versión de Helm
  6. Examine la conectividad del servicio y la red

Los pods no se inician

  1. Compruebe el estado del pod:

    kubectl get pods -l app.kubernetes.io/instance=tableau-server
    kubectl describe pod <pod-name>
  2. Compruebe los registros:

    kubectl logs <pod-name>
  3. Compruebe los eventos:

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

Problemas de volumen persistentes

  1. Compruebe el estado de PVC:

    kubectl get pvc
    kubectl describe pvc <pvc-name>
  2. Verifique la clase de almacenamiento:

    kubectl get storageclass

Problemas con las claves de licencia

  1. Verifique que la clave de licencia esté configurada:

    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE_KEY}' | base64 -d
  2. Actualice la clave de licencia:

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

Errores de comprobación de estado

  1. Compruebe el script de comprobación de estado:

    kubectl exec <pod-name> -- /docker/alive-check
    kubectl exec <pod-name> -- /docker/server-ready-check
  2. Ajuste el tiempo de verificación de estado:

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

Problemas de arranque de varios nodos

  1. Verifique el volumen de arranque:

    kubectl get pvc | grep bootstrap
  2. Comprobar archivo de arranque:

    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
  3. Verifique el modo de acceso ReadWriteMany:

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

     

  4. Verifique el enlace PV/PVC de arranque para el aprovisionamiento estático de 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. Si el montaje falla después de enlazar el PVC, compruebe si hay errores de EFS CSI/IAM:

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

    Instale y verifique el complemento de EKS como se describe en Requisitos previos de Amazon Elastic Kubernetes Service (EKS).

  7. Arregle los errores de autorización DescribeMountTargets

    • Método preferido:

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

      A continuación, reinicie los pods afectados (nodo principal y todos los nodos trabajadores). Los trabajadores se seleccionan por etiqueta, por lo que se cubre cualquier recuento de réplicas.

    • Método alternativo

      Fuerce el montaje de la IP de destino en la configuración de PV de arranque:

      Establezca persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip (o PV manual volumeAttributes.mounttargetip) y vuelva a aplicar/actualizar.

Recursos adicionales