Skip to content

Latest commit

 

History

History
58 lines (52 loc) · 1.75 KB

README.md

File metadata and controls

58 lines (52 loc) · 1.75 KB

tomcat-kubernetes

What is needed to create a Tomcat Docker image to run a cluster of tomcats in Kubernetes.

Get the latest tomcat snapshot of tomcat:

mvn clean install

Build the Docker image:


# update Dockerfile for the project(namespace) to be
docker build -t tomcat-in-the-cloud .

Tag the image on docker

docker login
docker tag tomcat-in-the-cloud:latest <public registry exposed url>/<project>/tomcat-in-the-cloud

For OpenShift https://manage.openshift.com/account/index use add a New Plan (Starter is enough) creating the plan takes a while... open the web console and create project On the left of the console you can get the login command ("Copy Login Command"). Use it on you laptop to connect.

oc login https://blabla --token=blabla

Use the project you have created (in my case I have created tomcat-in-the-cloud)

oc new-project <project>

Push the image to registry

docker push <public registry exposed url>/<project>/tomcat-in-the-cloud

Add the user to view the pods

oc policy add-role-to-user view system:serviceaccount:<project>:default -n <project>

Create the first pod

oc new-app --name tomcat-in-the-cloud --docker-image image-registry.openshift-image-registry.svc:5000/<project>/tomcat-in-the-cloud --insecure-registry

Scale it do 2 replicas

oc scale --replicas=2 dc/tomcat-in-the-cloud

Expose the deployment

oc expose dc/tomcat-in-the-cloud --port=8080
oc expose service/tomcat-in-the-cloud
#optional
oc annotate route tomcat-in-the-cloud router.openshift.io/cookie_name="mycookie"

To access to the tomcat use the hostname something like http://tomcat-in-the-cloud-tomcat-in-the-cloud.193b.starter-ca-central-1.openshiftapps.com/