Skip to content

Installation using Kubernetes

matamorphosis edited this page Jan 28, 2022 · 2 revisions

License: GPL v3

Support

Support for Scrummage installations is provided for tier 3 and 4 monthly sponsors, and ad-hoc support is provided based on the relevant time-limit. For more details, you can contact us via the sponsors page.

Installation using Docker

PLEASE FOLLOW CAREFULLY AS THERE IS INFORMATION PRINTED IN THE TERMINAL THAT WILL NEED TO BE RETAINED

Docker automates almost the entire installation process and doesn't give you the choice of OS, Ubuntu 20.04 is the current distribution used within the container.
If you want a more in depth understanding of the installation steps, please check out the Wiki page here
This guide assumes you have a Kubernetes cluster with Docker and know the essentials of Kubernetes and Docker.

Notes

  1. It is recommended that you change configuration for things like API keys, via the "Edit Inputs", "Edit Outputs", and "Edit Core" functions on the settings page.
  2. Unlike the regular installation of Scrummage, the IP address displayed on run is not the IP address you access Scrummage from. This is because Scrummage is running in a Docker container in the Kubernetes cluster in a virtualised network. This network uses network address translation (NAT) and the Kubernetes Helm Chart file, demoed below, maps the internal port 5000 in your virtualised environment to port 5000 on your host, so you can access it. Thus, you need to access Scrummage using the NAT IP address. On a Linux host you can use the kubectl get services command to find the ClusterIP address on your host, which will be the IP address used to access Scrummage.

Installation

  1. Navigate to the Helm Chart file in the installation directory:
user@linux:~$ cd Scrummage/installation/kubernetes_helm
  1. Use the kubectl utility to deploy the application and service
user@linux:~/Scrummage/installation/kubernetes_helm$ kubectl apply -f scrummage_helm.yaml
deployment.apps/scrummage configured
service/scrummage created
  1. Verify the service is up and running and get the IP address using the kubectl utility
user@linux:~/Scrummage/installation/kubernetes_helm$ kubectl get services
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
...
scrummage    ClusterIP   <YOUR-IP-HERE>   <none>        5000/TCP   31s
  1. When the Scrummage container runs for the first time, it logs a temporary password to the screen (stdout), this isn't visible using Kubernetes without checking the logs, again this information can be extracted using the kubectl utility
user@linux:~/Scrummage/installation/kubernetes_helm$ kubectl get pods
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
...
NAME                   READY   STATUS    RESTARTS   AGE
scrummage              1/1     Running   0          39m
user@linux:~/Scrummage/installation/kubernetes_helm$ kubectl logs scrummage
---EXAMPLE OUTPUT---
 * Starting PostgreSQL 12 database server
   ...done.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

----------------------------------------------------------------------------------------------------
This is the admin password, this will only be displayed on the first run of Scrummage:
<PASSWORD WILL BE DISPLAYED HERE>
----------------------------------------------------------------------------------------------------
...
  1. Access the application using the IP address, please note Scrummage can take up to 10 minutes to pull and deploy, so if the application can't be accessed right away, wait a few minutes and try again.
Clone this wiki locally