Kubernetes with Helm
The presented example uses Helm charts, if you haven’t used the tool before, we highly recommend getting familiar with the Helm quick-start docs.
The Helm chart setups the basic scenario of the CKEditor Collaboration Server On-Premises in Kubernetes with MySQL database and Redis cluster in two instances without the CKEditor Collaboration Worker.
# Prerequisites
Helm v3 and Kubernetes 1.19+ are required to run examples from the section.
To fetch a Git repository with a pre-configured Helm chart, git
needs to be installed.
To fetch required docker images you will need to authorize to the CKEditor Collaboration Server On-Premises Docker Registry.
Please prepare the token from the Customer Portal.
The presented example is not meant for production purposes! This configuration is insecure, not persistent and its purpose is testing only.
For production usage, please check the production deployment article
A valid license key is needed in order to install Collaboration Server On-Premises.
Contact us for a trial license key.
# Preparing development environment
- Clone the
cksource/ckeditor-cs-on-premises-infrastructure
Git repository.
git clone git@github.com:cksource/ckeditor-cs-on-premises-infrastructure.git
- Go to the
ckeditor-cs-development-stack
directory.
cd ckeditor-cs-on-premises-infrastructure/kubernetes/helm/ckeditor-cs-development-stack
- Create
imagePullSecret
for pulling images from the CKEditor container registry, replace thexxx
with the authentication token.
kubectl create secret docker-registry docker-cke-cs-com \
--docker-username "cs" \
--docker-server "https://docker.cke-cs.com" \
--docker-password="xxx"
- Install all necessary dependencies. It will download all images needed in further tutorials.
helm repo add bitnami https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami &&
helm repo update &&
helm dependency update
# Running the default scenario
The base scenario runs the application with a MySQL and single instance of Redis.
You will need to replace the xxx
with your CKEditor Collaboration Server On-premises license key, which can be found in the Customer Portal.
helm install ckeditor-cs . \
--set ckeditor-cs.server.secret.data.LICENSE_KEY="xxx"
then expose the CKEditor Collaboration Server On-premises port
kubectl port-forward service/ckeditor-cs-server 8000
Note: This is not a production-ready solution. To expose the application to the public in a production environment use a proper proxy configuration.
# Deleting installation
The command below will stop and remove all pods which were started during the tutorial.
helm delete ckeditor-cs
# Customizing scenario
You can adjust the example configuration to your needs by modifying the values.yaml
file in the .../kubernetes/helm/ckeditor-cs/
directory.