Helm 图表疑难解答

Tableau Server Helm 图表 - 疑难解答

重要信息:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。

简介

本主题帮助您诊断和解决使用 Helm 图表在 Kubernetes 上部署 Tableau Server 时的常见问题。它涵盖了安装问题、运行时问题和调试技术。

一般疑难解答步骤

在 Kubernetes 中遇到 Tableau Server 问题时:

  1. 检查 pod 状态和事件
  2. 查看容器日志
  3. 验证资源可用性
  4. 检查持久性卷声明
  5. 查看 Helm 版本状态
  6. 检查服务和网络连接

Pod 未启动

  1. 检查 pod 状态:

    kubectl get pods -l app.kubernetes.io/instance=tableau-server
    kubectl describe pod <pod-name>
  2. 检查日志:

    kubectl logs <pod-name>
  3. 检查事件:

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

持久性卷问题

  1. 检查 PVC 状态:

    kubectl get pvc
    kubectl describe pvc <pvc-name>
  2. 验证存储类:

    kubectl get storageclass

许可证密钥问题

  1. 验证是否设置了许可证密钥:

    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE_KEY}' | base64 -d
  2. 更新许可证密钥:

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

运行状况检查失败

  1. 检查运行状况检查脚本:

    kubectl exec <pod-name> -- /docker/alive-check
    kubectl exec <pod-name> -- /docker/server-ready-check
  2. 调整运行状况检查时间:

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

多节点引导程序问题

  1. 验证引导程序卷:

    kubectl get pvc | grep bootstrap
  2. 检查引导程序文件:

    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
  3. 验证 ReadWriteMany 访问模式:

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

     

  4. 验证 EFS 静态预置的引导程序 PV/PVC 绑定:

    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. 如果绑定 PVC 后挂载失败,请检查 EFS CSI/IAM 错误:

    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 错误:

    按照Amazon Elastic Kubernetes Service (EKS) 先决条件中所述安装并验证 EKS 加载项。

  7. 修复 DescribeMountTargets 授权失败

    • 首选方法:

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

      然后重新启动受影响的 pod(主节点和所有工作线程节点)。工作线程按标签选择,因此会覆盖任何副本计数。

    • 替代方法

      在引导程序 PV 配置中强制挂载目标 IP:

      设置 persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip(或手动 PV volumeAttributes.mounttargetip)并重新应用/升级。

其他资源