Sign up (with export icon)

Kubernetes with Helm

Show the table of contents

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

Copy link

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.

Note

A valid license key is needed in order to install Collaboration Server On-Premises.
Contact us for a trial license key.

Preparing development environment

Copy link
  1. Clone the cksource/ckeditor-cs-on-premises-infrastructure Git repository.
git clone git@github.com:cksource/ckeditor-cs-on-premises-infrastructure.git
Copy code
  1. Go to the ckeditor-cs-development-stack directory.
cd ckeditor-cs-on-premises-infrastructure/kubernetes/helm/ckeditor-cs-development-stack
Copy code
  1. Create imagePullSecret for pulling images from the CKEditor container registry, replace the xxx 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"
Copy code
  1. 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
Copy code

Running the default scenario

Copy link

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"
Copy code

then expose the CKEditor Collaboration Server On-premises port

kubectl port-forward service/ckeditor-cs-server 8000
Copy code

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

Copy link

The command below will stop and remove all pods which were started during the tutorial.

helm delete ckeditor-cs
Copy code

Customizing scenario

Copy link

You can adjust the example configuration to your needs by modifying the values.yaml file in the .../kubernetes/helm/ckeditor-cs/ directory.