Tableau Server Helm 图表 - 概述
重要信息:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。
简介
Tableau Server Helm 图表使您能够使用 Kubernetes 的包管理器 Helm 在 Kubernetes 群集上部署和管理 Tableau Server。此 Helm 图表打包了在容器化环境中运行 Tableau Server 所需的所有 Kubernetes 资源,提供了一个声明性和可重复的部署过程。
什么是 Helm?
Helm 是 Kubernetes 的包管理器,可简化应用程序的部署和管理。Helm 使用图表,图表是预先配置的 Kubernetes 资源包。Tableau Server 的 Helm 图表捆绑了所有必要的组件,包括:
- Deployment 和 StatefulSet
- Service 和 Ingress 配置
- ConfigMap 和 Secret
- 数据存储的 PersistentVolumeClaim
- RBAC 策略和 ServiceAccount
架构
组件
Tableau Server Helm 图表部署以下主要组件:
Tableau Server 容器
- 在 Linux 容器内运行完整的 Tableau Server 实例
- 基于具有
supervisord管理流程的 UBI 8 映像 - 容器启动时自动初始化和启动 Tableau Server
Kubernetes 资源
- StatefulSet:管理具有稳定网络身份的 Tableau Server pod
- PersistentVolumeClaim:为 Tableau 数据提供位于
/var/opt/tableau的持久性存储 - Service:在群集中公开 Tableau Server
- Ingress(可选):提供对 Tableau Server 的外部访问
- ConfigMap:存储非敏感配置
- Secret:存储敏感数据,如许可证和密码
部署拓扑
单节点部署
- 一个 Tableau Server pod,所有进程位于单个节点上
- 适用于开发、测试和小型生产工作负载
- 配置最简单,资源要求最低
多节点部署
- 跨节点分布的多个 Tableau Server pod
- 用于引导程序协调的共享网络存储
- 为生产工作负载提供更高的可用性和可扩展性
- 需要额外的节点协调配置
安全注意事项
- 密文管理:始终对生产中的敏感数据使用 Kubernetes 密文
- 网络策略:考虑实施网络策略以限制 pod 通信
- RBAC:图表创建一个服务帐户;根据需要配置 RBAC
- 映像安全:使用可信容器映像并扫描漏洞
- TLS/SSL:为生产环境中的入口启用 TLS
使用 Helm 的好处
简化部署
- 通过单一
helm install命令安装 Tableau Server - 通过值文件进行声明性配置
- 版本控制的基础架构即代码
轻松更新和回滚
- 使用
helm upgrade升级 Tableau Server 版本 - 如果出现问题,可回滚到以前的版本
- 跟踪部署历史记录
一致的环境
- 相同的图表部署到开发、暂存和生产
- 通过值文件进行特定于环境的自定义
- 减少配置漂移
内置最佳做法
- 预先配置的资源请求和限制
- 运行状况检查和就绪情况探测器
- 安全上下文和 RBAC 策略
支持的平台
Kubernetes 发行版
- 自托管 Kubernetes 群集 (1.19+)
- Amazon EKS (Elastic Kubernetes Service)
- Azure AKS (Azure Kubernetes Service)
- Google GKE (Google Kubernetes Engine)
- Red Hat OpenShift
生产要求
- Kubernetes 1.19 或更高版本
- Helm 3.x
- 持久性存储资源调配器(适用于 PersistentVolumes)
- 负载平衡器或入口控制器(用于外部访问)
- 每个节点至少 16GB RAM 和 4 个 CPU 内核(建议使用 8 个 CPU 内核 - 请参见Tableau Server 的最低硬件要求和推荐配置)
限制
尽管 Helm 图表提供了许多好处,但请注意以下几点:
- 每个 pod 运行一个完整的 Tableau Server 实例,而不是单独的微服务。
- 容器重启需要重新初始化进程(但不是数据)。
- 由于 Tableau Server 的架构,不支持水平 pod 自动扩展。
- 多节点部署需要共享网络存储进行协调。
- 某些高级 Tableau Server 配置可能需要自定义初始化脚本。
基础入门
若要开始使用 Tableau Server Helm 图表,请参见Tableau Server Helm 图表 - 先决条件。
有关部署示例,请参见Tableau Server Helm 图表 - 部署。
有关疑难解答指南,请参见Tableau Server Helm 图表 - 疑难解答。