Skip to content

Glados Virtual Machines

To run the cluster we have created several virtual machines that are hosted by Rose-Hulman. The docs below will layout how these virtual machines are structured.

VM Host Name Description Specs What runs here?
glados-cp This VM will run the kubernetes control plane. See above for the function of the control plane 2 CPU cores, 4GB of RAM, 50GB of storage control-plane
glados-db This VM will run and store the MongoDB. 4 CPU cores, 8GB of RAM, 1TB of storage?, ability to run AVX instructions database
glados-w1 This will be a general worker node. 4 CPU cores, 8GB of RAM, 50GB of storage non-specific
glados-w2 This will be a general worker node. 4 CPU cores, 8GB of RAM, 50GB of storage non-specific
glados-dev This will run a cluster used for development. Basically a staging environment. 4 CPU cores, 8GB of RAM, 100GB of storage Entire cluster
glados-forge This will run individual VMs for development containers. 16 CPU cores, 32GB of RAM, 500GB of storage Dev containers

Note

If we need more worker nodes they can follow the scheme above, glados-w3, glados-w4, etc.

Justification

The glados host name will only run the control plane because it will be able to keep running in the case that another system goes down. The control plane is able to redistribute tasks in the case of a system crash. This system does not need a lot of resources since it is only directing the work to the rest of the cluster.

Glados-db will run the MongoDB, this means that it may need quite a bit of persistent storage. Therefore we need quite a bit of storage on this VM. MongoDB also appears to be quite resource intensive.

Glados worker nodes can all be the same specs and can be spun up/down as they are needed. When adding/removing nodes you will have to instruct the control plane to do so.

Development Environment

We would also like a VM to run a development version of GLADOS for our own testing.

Hostname

glados-dev

Description

Run the cluster on a single machine for testing purposes.

Specs

4 CPU cores, 8 GB RAM, 100GB storage

We might need a little extra storage due to kubernetes caching old images. We will have to make sure we clean this up periodically.

Physical Server

We will continue to use the physical GLADOS server in the cluster. We will use the physical server as a worker node (worker 0). The physical server will now have the hostname glados-w0.

glados-forge

This VM is used for development purposes for the GLADOS team. It is configured to create and manage development environments for each member of the GitPod organization, allowing each person to maintain their own environment and changes for the work they are completing to enhance the system.

The development environments are dynamically spun up and down as needed to preserve the ram and CPU usage on the VM.