
bitnamicharts/tomcatApache Tomcat 是一款开源 Web 服务器,专为托管和运行基于 Java 的 Web 应用程序设计。它轻量级且性能优异,适用于生产环境中的应用部署。Bitnami Helm Chart 提供了在 Kubernetes 集群上快速部署和管理 Apache Tomcat 的标准化方案,集成了持久化存储、安全配置、监控等企业级特性。
Apache Tomcat 官方概述
商标说明:本软件包由 Bitnami 打包,相关商标归各自公司所有,使用不意味着任何关联或背书。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/tomcat
生产环境建议使用 VMware Tanzu Application Catalog(Bitnami 商业版目录)。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,核心变更如下:
更多详情见 Bitnami Secure Images 公告。
使用 release 名称 my-release 安装 Chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/tomcat
注意:需替换占位符
REGISTRY_NAME和REPOSITORY_NAME。Bitnami 官方仓库示例:REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
consolehelm list
生产环境需配置资源请求与限制,避免资源争抢。可通过 resources 参数直接定义,或使用 resourcesPreset 应用预设策略(不建议生产环境使用预设,需根据实际需求调整):
yamlresources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
详情参考 Kubernetes 容器资源管理。
Bitnami Chart 在首次启动时配置凭证,后续更新需手动操作:
SECRET_NAME、USER、PASSWORD):shellkubectl create secret generic SECRET_NAME --from-literal=tomcat-username=USER --from-literal=tomcat-password=PASSWORD --dry-run -o yaml | kubectl apply -f -
启用 Prometheus 指标采集:
yamlmetrics: enabled: true
metrics.podMonitor.enabled=true 创建 PodMonitor 对象,集成 Prometheus Operator。前提:集群需已安装 Prometheus 或 Prometheus Operator。推荐使用 Bitnami Prometheus Helm Chart。
生产环境强烈建议使用不可变标签,避免镜像更新导致部署意外变更。Bitnami 会在主容器版本更新、重大变更或发现严重漏洞时发布新 Chart。
通过 image.repository 和 image.tag 参数指定镜像仓库和版本:
yamlimage: repository: docker.io/bitnami/tomcat tag: 10.1.18-debian-11-r10 # 示例版本
方式 1:直接定义
yamlextraEnvVars: - name: LOG_LEVEL value: DEBUG
方式 2:通过 ConfigMap 或 Secret
yamlextraEnvVarsCM: "my-configmap" # 现有 ConfigMap 名称 extraEnvVarsSecret: "my-secret" # 现有 Secret 名称
添加 Sidecar 容器(如日志采集器):
yamlsidecars: - name: log-exporter image: busybox:latest command: ["tail", "-f", "/bitnami/tomcat/logs/catalina.out"] volumeMounts: - name: tomcat-data mountPath: /bitnami/tomcat
暴露 Sidecar 端口(如需):
yamlservice: extraPorts: - name: log-port port: 8081 targetPort: 8081
添加 Init 容器(如初始化配置):
yamlinitContainers: - name: init-config image: busybox:latest command: ["sh", "-c", "echo 'custom config' > /bitnami/tomcat/conf/custom.conf"] volumeMounts: - name: tomcat-data mountPath: /bitnami/tomcat
Tomcat 数据和配置存储路径:/bitnami/tomcat(容器内)。
配置 PVC:
yamlpersistence: enabled: true storageClass: "my-storage-class" size: 10Gi accessModes: - ReadWriteOnce
权限调整:默认通过 Kubernetes 安全上下文自动调整存储卷权限。若环境不支持,可启用 init 容器调整权限:
yamlvolumePermissions: enabled: true
| 名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥数组 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
| 名称 | 描述 | 默认值 |
|---|---|---|
nameOverride | 部分覆盖资源名称模板 | "" |
fullnameOverride | 完全覆盖资源名称模板 | "" |
commonLabels | 所有资源的额外标签 | {} |
commonAnnotations | 所有资源的额外注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
| 名称 | 描述 | 默认值 |
|---|---|---|
replicaCount | 副本数 | 1 |
deployment.type | 部署类型(deployment/statefulset) | deployment |
tomcatUsername | 管理员用户名 | user |
tomcatPassword | 管理员密码(为空时自动生成) | "" |
existingSecret | 现有凭证 Secret 名称(覆盖默认生成) | "" |
catalinaOpts | JVM 参数 | "" |
containerPorts.http | 容器 HTTP 端口 | 8080 |
image.registry | 镜像仓库 | docker.io |
image.repository | 镜像名称 | bitnami/tomcat |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
yaml# values-prod.yaml replicaCount: 3 image: tag: 10.1.18-debian-11-r10 # 不可变标签 persistence: enabled: true storageClass: "gp2" # AWS EBS 存储类示例 size: 20Gi resources: requests: cpu: 1000m memory: 1Gi limits: cpu: 2000m memory: 2Gi metrics: enabled: true podMonitor: enabled: true extraEnvVars: - name: CATALINA_OPTS value: "-Xms1g -Xmx2g"
部署命令:
consolehelm install tomcat-prod oci://registry-1.docker.io/bitnamicharts/tomcat -f values-prod.yaml
consoledocker run -d -p 8080:8080 --name tomcat bitnami/tomcat:latest
注意:开发环境使用,生产环境建议通过 Kubernetes 部署并采用 Bitnami Secure Images。
生产环境建议使用 Velero 进行备份与恢复:
详情参考 Velero 备份指南。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务