can someone please explain why scaling the statefulset doesnt work as expected?

C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2025

Hi Folks,

 

I recently setup a K8S cluster in my lab.

added atlassians helm repo

got database up and running

got nfs up and running

got relevant nginx-ingress up and running

 

I installed confluence using a custom values.yaml file wich works and spins up the pod binding to the nfs for its shared-home (RWX)

and created pv/pvc for local-home

 

I was able to access the site and finish setup.

 

when I add a new replica by scaling up the set it will be provisioned.

but when I access confluence site now I get "Confluence already set up" and I can go nowhere until I remove the additional pod.

 

 

my yaml contains:


cluster:

enabled: true

joinTimeoutSeconds: 300

namespaceDiscovery:

enabled: true

hazelcast:

enabled: true

clusterName: confluence-cluster

network:

port: 5701

publicAddress: confluence.cfcon.local

tcpIp:

enabled: true

members:

- confluence-0.confluence.default.svc.cluster.local

- confluence-1.confluence.default.svc.cluster.local

connectionTimeoutSeconds: 120

 

 

I also added db data to the file and included a license secret

but when I first installed it, it still asks for a license and db data (url, user,passwd)

 

which means something must be wrong with the file

 

I am new to Kubernetes and Helm so please enlighten me:)

 

thanks a lot

cF

1 answer

0 votes
C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2025

ok I fixed scaling by reviewing the values.file

 

but what's not working is the synchrony. when I enable it confluence tells me there is an issue with synchrony. any idea where to start looking at?

thanks in advance

Yevhen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 13, 2025

@C_ Faysal you need to make sure that synchrony is accessible from within the Confluence pod and in your browser as well. Synchrony url should be in the jvm configmap in the namespace.

C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2025

oh I found a wrong (nonexistent) JDBC URL in confluence-config (ConfigMap)

may this be the issue?

in jvm-configmap the url is already listed as so:

cfaysal@k8s-master:~$ kubectl describe configmap confluence-jvm-config -n default
Name: confluence-jvm-config
Namespace: default
Labels: app.kubernetes.io/instance=confluence
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=confluence
app.kubernetes.io/version=9.2.0
helm.sh/chart=confluence-1.22.4
Annotations: meta.helm.sh/release-name: confluence
meta.helm.sh/release-namespace: default

Data
====
additional_jvm_args:
----
-Dconfluence.cluster.hazelcast.listenPort=5701 -Dsynchrony.service.url=https://confluence.cfcon.local/synchrony/v1 -Dsynchrony.by.default.enable.collab.editing.if.manually.managed=true -Dconfluence.clusterNodeName.useHostname=true -Datlassian.logging.cloud.enabled=false -XX:ActiveProcessorCount=1
max_heap:
----
1g
min_heap:
----
1g
reserved_code_cache:
----
256m

BinaryData
====

Events: <none>

C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2025
I don't get it.

 2025-02-13 21:24:08,074 INFO [async-dispatch-9] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:09,074 INFO [async-dispatch-15] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:10,074 INFO [async-dispatch-14] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:11,074 INFO [async-dispatch-11] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:12,074 INFO [async-dispatch-1] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:13,074 INFO [async-dispatch-10] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:14,074 INFO [async-dispatch-4] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:15,074 INFO [async-dispatch-5] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:16,074 INFO [async-dispatch-13] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:17,074 INFO [async-dispatch-1] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:18,074 INFO [async-dispatch-10] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:19,074 INFO [async-dispatch-16] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:20,074 INFO [async-dispatch-2] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}
2025-02-13 21:24:21,074 INFO [async-dispatch-8] [synchrony.middleware.logging] {:request {:remote-addr "192.168.178.146", :uri "/synchrony/heartbeat", :request-method :get, :query-string nil}, :response {:status 200}}

 

even though status is 200 confluence states

Synchrony ERROR

We couldn't connect to your Synchrony cluster from this Confluence node.

 

C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2025

here it is:

cfaysal@k8s-master:~$ kubectl exec -it confluence-0 -n default -- curl -I http://confluence-synchrony.default.svc.cluster.local:80/synchrony/heartbeat
Defaulted container "confluence" out of: confluence, nfs-permission-fixer (init)
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=utf-8
Date: Thu, 13 Feb 2025 21:31:49 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: content-type, accept, x-token, x-atlassian-mau-ignore
Access-Control-Allow-Methods: GET, PUT, POST, OPTIONS
Access-Control-Max-Age: 86400
Server: Aleph/0.7.0-alpha2
Connection: Keep-Alive
C_ Faysal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 24, 2025

fixed. i used the example values file to make own adjustments that reflect my environment.

works flawlessly

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
TAGS
AUG Leaders

Atlassian Community Events