description |
---|
Install Squidex on a Kubernetes cluster |
- Kubernetes 1.23+
- Kubernetes cluster
- An Ingress Controller such as NGINX deployed in the cluster
- cert-manager for auto SSL of custom domain
- A custom domain for use during Squidex deployment
We provide a Helm chart that deploys Squidex along with MongoDB.
The helm chart creates the following resources / objects:
- Deployments
- A Squidex primary deployment
- And a Squidex worker deployment for background jobs
- Statefulsets
- A MongoDB statefulset with 3 replicas
- PVs & PVCs
- Persistent volumes for MongoDB
- Services
- Ingress
The Github link below contains all the details:
https://github.com/Squidex/squidex/tree/master/helm
Use kubeconfig to connect to your Kubernetes cluster and ensure you are able to run kubectl
commands.
Here squidex is the name used for the repository.
helm repo add squidex https://squidex.github.io/squidex/helm/
The below command installs version 7 of Squidex.
helm install squidex squidex/squidex7 --set env.URLS__BASEURL=https://squidex.your.domain --set ingress.hostName=squidex.your.domain
- Here
squidex/squidex7
means we are installing version 7 of Squidex. - Replace
squidex.your.domainwith your custom domain name.
It may take a few minutes before the rollout is successful. Run the below command to check the status:
kubectl rollout status deployments
Below is a sample screenshot of a successful rollout
Successful rollout of Squidex deployments
You can verify / see all the objects created by running:
kubectl get all
Screenshot of all objects deployment by the helm chart
Open the custom URL address on a browser to continue with Squidex setup.
To troubleshoot, check deployment logs of the respective deployment. You can also check the pod logs or use the tools that are provided by your hosting providers to view the log stream.
kubectl logs deployment/squidex-squidex7
If you receive a 404 Error, It's mostly an ingress issue. Check the ingress class name for your ingress controller deployment.
This helm chart uses the ingressClassName as nginx.
Don't worry if you see the following log entry:
info: Orleans.Runtime.Silo[100404]
Silo starting with GC settings: ServerGC=False GCLatencyMode=Interactive
warn: Orleans.Runtime.Silo[100405]
Note: Silo not running with ServerGC turned on - recommend checking app config : --
warn: Orleans.Runtime.Silo[100405]
Note: ServerGC only kicks in on multi-core systems (settings enabling ServerGC have no effect on single-core machines).
This is not a critical warning. ServerGC is a special Garbage Collector as it has no positive or negative impact when running with a single core. You can just ignore it. This log entry is generated by Microsoft Orleans, a framework which has been removed with v7.0.0 and is there not relevant anymore.
Solution: Request more than 1 CPU
resources:
requests:
cpu: 2
For other issues, it is likely that you have a configuration problem not related to hosting under Kubernetes. Checkout the following documentation:
{% content-ref url="../configuration.md" %} configuration.md {% endcontent-ref %}