---
schema_version: "1"
id: a6613d74430cc9db5beb274f7942be55a04d7c5dcfc0f00ec77b74bda1c773db
title: Tableau Server 和 Helm 图表
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server-linux/server-in-container_helm-chart.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-cn/server-in-container_helm-chart.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8f19cba2afc22a0c8be0fcd470c2ccd20bb3602b80ae6ffac52b0d5bf329da47
description: 重要信息：本文档假设您了解 Helm 和 Helm 图表，并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。
---
[跳转到主要内容](#main-content)

# 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 的最低硬件要求和推荐配置](https://help.tableau.com/v0.0/server-linux/zh-cn/server_hardware_min.htm#OS_requirements)）

## 限制

尽管 Helm 图表提供了许多好处，但请注意以下几点：

- 每个 pod 运行一个完整的 Tableau Server 实例，而不是单独的微服务。
- 容器重启需要重新初始化进程（但不是数据）。
- 由于 Tableau Server 的架构，不支持水平 pod 自动扩展。
- 多节点部署需要共享网络存储进行协调。
- 某些高级 Tableau Server 配置可能需要自定义初始化脚本。

## 基础入门

若要开始使用 Tableau Server Helm 图表，请参见[Tableau Server Helm 图表 - 先决条件](https://help.tableau.com/v0.0/server-linux/zh-cn/server-helm-prerequisites.htm)。

有关部署示例，请参见[Tableau Server Helm 图表 - 部署](https://help.tableau.com/v0.0/server-linux/zh-cn/server-helm-deploy.htm)。

有关疑难解答指南，请参见[Tableau Server Helm 图表 - 疑难解答](https://help.tableau.com/v0.0/server-linux/zh-cn/server-helm-troubleshooting.htm)。

## 其他资源

- [Tableau Server 系统要求](https://help.tableau.com/current/server-linux/zh-cn/requ.htm)
- [Kubernetes GitHub 存储库中的 Tableau Server](https://github.com/tableau/tableau-server-in-kubernetes)
- [Helm 文档](https://helm.sh/docs/)
- [Kubernetes 文档](https://kubernetes.io/docs/)

## 此部分中的其他文章