Last modified by Eduard Moraru on 2020/01/28

<
From version < 4.1 >
edited by Ashish Sharma
on 2019/08/26
To version < 5.1 >
edited by Ashish Sharma
on 2019/08/26
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -61,9 +61,9 @@
61 61  
62 62  === Adding support for clustering,HA and Unit testing ===
63 63  
64 -* Migrated from Statefulset to Deployment
65 -* Added Clustering feature to docker project
66 -* Added Clustering feature to helm project
67 -* Can add JGroup config file through configMaps
68 -* Unit Testing
69 -* Added Liveliness and Readiness Probes
64 +* While moving towards HA and clustering we got to know that Xwiki need shared file storage for clustering which was not available in StatefulSet, so we made a desicion to migrate to Deployment.
65 +* We needed to add test-cases so I added unit-testing.
66 +* Clustering was required to take xwiki on HA. For that we need docker to enable option to configure clustering, so first I made changes in docker project and provided option to configure JGroups.
67 +* Then I needed to provide the option in helm. For that I had to face another challenge to how to pass configuration files needed by JGroup from my helm chart to the container. For that I took the file in ConfigMaps and mounted the file to the xwiki pods. Also provided option to enable and disable JGroups.
68 +* While enabling clustering we need to know which pods are avialable to accept request and which are dead so that we can route traffic accordingly, for that I needed to configure liveliness and readiness probes, so that kubernetes always get updated with the state of the container and if the container crashes it could restart the pod.
69 +* Xwiki uses solr and the docker it embededs solr internally, but as suggested by Xwiki for performance improvement solr should be externalised, so I tried to add it as a dependency but failed due to an immature helm chart of solr, and how the xwiki configures solr, it was not possible with the current solr chart state. So for now I have exposed the basic parameter and the user has to manually setup solr and pass the url of the solr.

Get Connected