Chart version: 0.4.3
Api version: v1
App version: 7.0
DEPRECATED - Deploy a basic tomcat application server with side...
Chart Type
Set me up:
helm repo add center
Install Chart:
helm install tomcat center/stable/tomcat
Versions (0)

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.


Tomcat is is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.


This chart is deprecated and no longer supported.


This chart creates a tomcat application server Deployment, plus http Services for the server. The chart offers an optimization for application updates running in a servlet container-type engines like tomcat and Jboss. The chart uses the WAR, EAR, and other deployable components outside of the Servlet engine as sidecar container so application upgrades requires the sidecar container image only to be updated and not the Servlet engine as if both would run at the same image.


  • Kubernetes 1.10+

Provider-specific Prerequisites

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release stable/tomcat

This command deploys a tomcat dedicated server with sane defaults.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.


The following table lists the configurable parameters of the tomcat chart and their default values.

Parameter Description Default
image.webarchive.repository Sidecar image source repository name ananwaresystems/webarchive
image.webarchive.tag webarchive release tag. 1.0
image.tomcat.repository Tomact image source repository name tomcat
image.tomcat.tag tomcat release tag. 7.0
image.pullPolicy Image pull policy IfNotPresent
image.pullSecrets Image pull secrets [] Webarchive deployment directory /usr/local/tomcat/webapps
env Environment variables []
extraVolumes Extra volumes []
extraVolumeMounts Extra volume mounts []
extraInitContainers Extra init containers []
hostPort hostPort 8009 Tomcat service name http
service.externalPort Kubernetes service port 80
service.internalPort Tomcat front port 8080
service.type Kubernetes service type LoadBalancer
readinessProbe.path HTTP path to check for readiness /sample
livenessProbe.path HTTP path to check for readiness /sample
resources CPU/Memory resource requests/limits {}
nodeSelector Node affinity {}
tolerations Node tolerations {}

Refer to values.yaml for the full run-down on defaults. These are a mixture of Kubernetes and tomcat-related directives that map to environment variables.

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release \
  --set Values.someval=My Server,ImageTag=1.0 \

The above command deploys Tomcat dedicated with a server name of My Server and docker-tomcat image version 1.0.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name my-release -f values.yaml stable/stable

Tip: You can use the default values.yaml


“An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever.”


Java Web Application with Tomcat and Sidecar Container