Keywords Overview: –
- helm – https://helm.sh/docs/topics/charts/
- PV and PVC – https://kubernetes.io/docs/concepts/storage/persistent-volumes/
- ConfigMaps: – https://kubernetes.io/docs/concepts/configuration/configmap/
- Secrets – https://kubernetes.io/docs/concepts/configuration/secret/
You can find all Jira deployment requirements and configuration details in the following link – https://atlassian.github.io/data-center-helm-charts/userguide/PREREQUISITES/
Jira Deployment Requirements: –
To deploy Atlassian’s Data Center products, the following is required:
- An understanding of Kubernetes and Helm concepts.
- kubectl v1.21 or later must be compatible with your cluster.
- Helm v3.3 or later.
Tanzu Kubernetes Cluster Deployed
Installed Linux guest VM for accessing the Tanzu Kubernetes Cluster
Installed Helm on Guest VM
Helm Installation Steps: –
Download your desired version
Unpack it (tar -zxvf helm-v3.0.0-linux-amd64.tar.gz)
Find the helm binary in the unpacked directory, and move it to its desired destination (mv linux-amd64/helm /usr/local/bin/helm)
Environment setup: –
Before installing the Data Center Helm charts, you need to set up your environment:
My Env | |
Create and connect to the Kubernetes cluster. | Created Tanzu Kubernetes cluster and helm configured on Linux guest VM. |
Provision an Ingress Controller | I am using AVI Ako as Ingress Controller |
Provision a database | I am using the Postgres database with PVC. |
Configure a shared-home volume. | Using Dynamic storage using storage policy, PV and PVC are created automatically. |
Configure a local-home volume. | Using Dynamic storage using storage policy, PV and PVC are created automatically. |
Deploying Postgres DB on Kubernetes with PV
Crate required a yaml file for deploying Postgres DB – PVC.yaml – for deploying PV Volumes, Deployment. yaml – for deploying Database, Service. yaml – for exposing the DB, Configmaps. yaml – For creating DB.
You can download the DB yaml file – https://github.com/Dineshk1205/Postgresdb

Creating PVC for DB, configmaps, and secrets. Using Secrets Configuring username and password for DB.

Deploying postgres DB Pod

You can check deployment events using – kubectl describe pod

Creating Postgres Service

Postgres Pod service is exposed on port 32038. Node port accessible within cluster nodes.
Login to postgres db and create a database for Jira.

Create a database for jira and assign required privileges to db.

Postgres database created and configured.
Next, we can deploy the AVI ako ingress controller on the Tanzu cluster. (For vSphere pods not required to deploy any ingress controller, nsx will provide L7 Ingress)
You can check the following doc for installation ako – https://avinetworks.com/docs/ako/1.9/ako-on-vsphere-with-tanzu-with-vds/

In my env, I Generated a Self-signed certificate using Script, or you skip it if you want to use your external certificate.

Creating secret using TLS certificate files. In the Ingress .yaml file, we need to specify the Certificate secret name.

Next, we can deploy Jira using Helm
Add the Helm chart repository to your local Helm installation:
$ helm repo add atlassian-data-center \
Update the repository:
$ helm repo update
Obtain the default product values.yaml file from the chart:

Configure Values.yaml file based on requirements. Deploy Jira.

Next, Create an Ingress yaml file .and run ingress. (It’s a simple ingress Configuration, you update)

You can see the above screenshot of Jira exposed on 172.93.0.24 IP. You can also check on AVI.


Access Jira Using the URL – https://jira.kdinesh.in

You can see the self-signed certificate.

You can configure JIRA.










