Have the issues with Helm chart autoscaling been resolved?

Bryan Guffey
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 31, 2023

Hi all! 

I was looking at the documentation for the Jira Data Center Helm Charts, and on the Limitations page, there are two issues that are identified as blockers for horizontal scaling:

At present there are issues relating to index replication with Jira when immediately scaling up by more than 1 pod at a time.

Indexing improvements

Please note that Jira is actively being worked on to address these issues in the coming releases.

Although these issues are Jira specific, they are exasperated on account of the significantly reduced startup times for Jira when running in a Kubernetes cluster. As such these issues can have an impact on horizontal scaling if you don't take the correct approach.

 

I've noticed that both of the linked issues have been resolved as of 9.1.0. 

Should I take this to mean that you can now scale horizontally using a statefulSet replica number higher than 1 as mandated below? 


Horizontal scaling - adding pods

The Helm charts provision one StatefulSet by default. The number of replicas within this StatefulSet can be altered either declaratively or imperatively. Note that the Ingress must support cookie-based session affinity in order for the products to work correctly in a multi-node configuration.

DeclarativelyImperatively
  1. Update values.yaml by modifying the replicaCount appropriately.
  2. Apply the patch:
    helm upgrade <release> <chart> -f <values file>
    

Initial cluster size

Jira, Confluence, and Crowd all require manual configuration after the first pod is deployed and before scaling up to additional pods, therefore when you deploy the product only one pod (replica) is created. The initial number of pods that should be started at deployment of each product is set in the replicaCount variable found in the values.yaml and should always be kept as 1.

 

Thanks for the assistance! 

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Yevhen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 31, 2023

@Bryan Guffey let me clarify things. 

 

1. You can scale Jira (like any DC product except Bamboo) to more than 1 replica. You can't scale more than 1 at a time but this is the default behavior of K8s StatefulSet. So, if you scale to 3, you will see pod-1 first, and pod-2 will be created only after pod-1 passes its readiness probe (which can take some time since index recovery can be a lengthy process on large datasets)

2. When you deploy DC products for the first time and you need to finish setup you should always start with 1 replica, and scale up after the set up

3. Because of a long cold start time and destructive nature of scale down, as well as the need for session affinity, Horizontal Pod Autoscaler (HPA) can be less effective, or destructive in case of a scale down. That's why using HPA is quite risky. 

Bryan Guffey
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 1, 2023

Thanks, Yevhen! This is excellent. I assume this *specifically* applies to versions of Jira that are 9.1 or later, correct? 

Bryan Guffey
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 6, 2023

@Yevhen - following up to my question regarding Jira versions!

Yevhen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 6, 2023

@Bryan Guffey yes, Jira 9.1.x is known to have a much more robost mechanism of restoring cache which is especially important when nodes start.

0 votes
Jim Cupples October 31, 2023

Bryan - I am not looking to answer you question, but to clarify it for my own interests and looking to see if the real answer supports something that I need.

Your question of "Should I take this to mean that you can now scale horizontally using a statefulSet replica number higher than 1 as mandated below? " relates ONLY with the ability to scale horizontally for Jira, not with the fact that with large Jira instances, index replication may take a long time.

In other words, I can now scale Jira horizontally multiple nodes at the same time, but if i have a large data set, it still may be a little while before those nodes are actually usable?

Thanks!

TAGS
AUG Leaders

Atlassian Community Events