Skip to content
This repository has been archived by the owner on Jun 2, 2022. It is now read-only.

Latest commit

 

History

History
67 lines (43 loc) · 3.19 KB

README.md

File metadata and controls

67 lines (43 loc) · 3.19 KB

SLATElite

This project provides a lightweight "kubernetes-in-docker" cluster federated with SLATE.

Minimum Requirements

  • Linux (2 cores, 4GB memory, 15GB storage) or MacOS
  • A publicly accessible IP address (port 6443 open)
  • Python (3 or 2.7, 'python' must be in your PATH)
  • DockerCE
  • Docker-Compose (installed with Docker for Mac)

On Linux, the user running SLATElite must be a member of the Docker group (or root). Users can be added to the Docker group with: sudo usermod -a -G docker <username>

Getting Started

After installing the dependency requirements and pulling the SLATElite repository:

Make sure your Docker is running.

Build the container images with ./slatelite build This will take a few minutes. Running this again is only required to pull updates to software.

Initialize the environment with ./slatelite init

TIP: Access local directories by mapping them into the SLATE container: ./slatelite init -v ~/WorkDir:/mnt

Utilize SLATE with ./slatelite slate ...(cluster list, group list, etc)...

Or shell into the container and run it "natively":

$ ./slatelite shell slate
# slate ...(cluster list, group list, etc)...

To completely destroy the environment such that it can be created again run: ./slatelite destroy

For a more detailed description of each SLATElite command view COMMANDS.md

Deploying with CVMFS

If you need CVMFS for your environment you must supply your desired SLATE cluster name, a SLATE group that you are a member of, a valid SLATE access token, and the API endpoint you wish to connect to.

You can setup a group at https://portal.slateci.io/groups

To get your access token go to https://portal.slateci.io/cli (Note: this token is for the 'prod' API endpoint by default)

When choosing a cluster name be sure the name doesn't already belong to another cluster. You can do this through the SLATE Client (Download: https://portal.slateci.io/cli).

./slatelite init --cluster <CLUSTER NAME> --token <ACCESS TOKEN> --group <SLATE GROUP> --api <dev or prod>

Example:

./slatelite init --cluster my-cluster --group my-group --token 6mG2gTvDhgMWitF_bAy7aP --api dev

You can manually specify an API endpoint address as well (Not reccomended).

--api https://api-dev.slateci.io:18080

Internal Details

SLATElite is a docker-compose orchestrated standard SLATE deployment (with a couple performance tweaks for personal machines).

SLATElite spins up 3 containers with docker-compose. These include:

Known issues

If you have a kubernetes cluster running directly on the host you wish to run Slatelite, this is known to cause odd interactions. (i.e. Kubelet/Kubadm/Kubectl is installed on the machine)