After spending some time trying to get different confluence HELM
charts to work and failing (Im sure it was me not the code!), i gave up and wrote my own manifest files to deploy it. You can find the code in my github repo: atlassian-docker.
The deployment gives you:
- A single pod
confluence
deployment - Offloaded
HTTPS
to a custom URL using a loadbalancer EFS
storage to allow for HA
Pre-reqs / Notes
My manifests and deployment is specific to running kubernetes on AWS
and uses EFS storage to allow HA
via having a EKS
cluster over 2 AZs.
You will need to have the EFS CSI
or someother variation to allow kubernetes to connect a PersistentVolume
to EFS
see below for more details:
https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html
AWS Configuration
Kubernetes
deployed (I use EKS)- Either upload a certificate or generate one for
HTTPS
RDS
Postgres database accessible by the EKS clusterEFS
deployed with connection to the EKS cluster
Update Kubernetes Manifests
Update the below manifests settings to match your environment.
deployment.yml
The below values need updating to connect to the database:
- Update
ATL_JDBC_URL
value - Update
ATL_JDBC_USER
value - Update
ATL_JDBC_PASSWORD
value
Set the proxy name for your URL (ie confluence.mysite.com
)
- Update the
ATL_PROXY_NAME
value
service.yml
Add the ARN for your certificate:
- Update
service.beta.kubernetes.io/aws-load-balancer-ssl-cert
with the certARN
storage.yml
Add the EFS id to the PersistentVolume
- Update
volumeHandle
with the EFS ID
Kubernetes Deployment
Once all the manifests have been updated, your ready to deploy.
kubectl apply -f confluence/namespace
kubectl apply -f confluence
And there you have it, with fingers crossed you should now be able to go to your URL and see a confluence setup page :)