Requirements
Software
-
Helm 3.2 or newer
-
Kubernetes v1.18 or newer
-
Nginx ingress controller
-
Depending on the environment in which your Kubernetes cluster has been installed, there are a variety of solutions and vendors that offer these. For configuration, consult the documentation of the solution that has been selected for use in your environment.
-
-
Storage provider with support for
ReadWriteMany
-
Depending on the environment in which your Kubernetes cluster has been installed, there are a variety of storage options, some of which may come with the Kubernetes containerization solution that’s being used in your environment. For further details, consult the documentation of the Kubernetes and storage solution that have been selected for use in your environment.
-
-
DNS service
-
-
kubectl
1.18 or newer
Hardware
The requirements below are the minimal node compute resources that should be able to support both Kubernetes and SD Elements.
-
3 nodes, each with:
-
4 vCPU/cores
-
8GB RAM
-
Logging
Depending on the environment in which your Kubernetes cluster has been installed, there are a variety of solutions and vendors that offer the ability to gather the logs generated by SD Elements pods. For configuration, consult the documentation of the solution that has been selected for use in your environment.
Components
What follows is a list of the required software elements to run SD Elements.
The main components include:
Apache + WSGI Webserver (dynamic content) |
Apache processes application requests from Nginx. It also runs the Django Python application in WSGI processes. |
Nginx Webserver (static content) |
Nginx serves public static content directly to clients. It acts as a reverse proxy to Apache, hosts TLS/SSL for the SDE web application, and exposes ports 80 and 443 to SDE application users. |
PostgreSQL Database |
This is the database server for the application. It’s accessed by the Apache WSGI processes. |
RabbitMQ Message Queue |
RabbitMQ is a queuing system for jobs (Issue Tracker, Scanner integration, emails). |
Postfix mail server |
Postfix handles emails initiated by the SDE application. |
Memcached server |
Memcached server manages stored data for the SDE application and its services. |
Celery workers |
Celery runs application jobs (Issue Tracker, Scanner integration, emails). |
Tested Versions
The table below contains versions of SD Elements that are deployable on corresponding versions of Kubernetes. While all listed versions should work, those emphasized in bold and italics represent deployments verified by QA.
SD Elements Version | Microk8s Version | EKS Version |
---|---|---|
5.12.29 | 1.18 1.19 1.20 1.21 | 1.18 |
5.13.38 | 1.18 1.19 1.20 1.21 | 1.18 |
5.14.17 | 1.18 1.19 1.20 1.21 | 1.18 |
5.15.17 | 1.18 1.19 1.20 1.21 | 1.18 |
5.16.25 | 1.18 1.19 1.20 1.21 | 1.18 1.19 |
5.17.19 | 1.18 1.19 1.20 1.21 | 1.18 1.19 |