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
-
DNS service
-
-
kubectl
1.18 or newer
Hardware
The requirements below should be combined to determine the total capacity required by the cluster and each node.
Kubernetes
-
At least 3 master nodes (control pane)
-
2 vCPU/cores
-
2GB RAM
-
-
At least 3 worker nodes
-
1 vCPU/core
-
2GB RAM
-
SD Elements
-
At least 3 worker nodes
-
2 vCPU/core
-
4GB 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 |