Table of Contents
Learn Kubernetes (k8s)
Kubernetes (k8s for short) is pretty complicated, but 90% of the time you can get by knowing very little of it.
First, Make some containers
k8s organises containers for us, so first we need to understand how to use containers.
The most popular tool for working with containers on the desktop is Docker. Here are some starter tutorials:
If you want to use the Sandbox to experiment (see logging in to Tardis), then run curl -fsSL https://get.docker.com/rootless | sh
.
Then, do things with them
Now that you know all about containerisation, you're ready to start making k8s arrange containers for you. Go and create a namespace and get logged in (go here to get an account if you haven't already!), then try following along with these:
Putting things on the internet
When you're debugging, you can use ''kubectl port-forward'' to access your application. Eventually though, you'll probably want to put it on the internet.
Currently we allow you to host things at <username>.tardis.ac/whatever
. We use Traefik to do this, but you don't need to worry about the details. This manifest will expose the port named web
for the service awesome-app
to the world.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: awesome-app spec: rules: - host: USERNAME.tardis.ac http: paths: - path: / pathType: Prefix backend: service: name: awesome-app port: name: web
You can route different subdirectories of your domain to different apps by changing the path
attribute, or by creating new ingress objects. If you get stuck, don't be afraid to ask in our chat.
If you want to use a custom domain (or one of our top-level ones), currently you'll need to contact an admin - we plan to automate this soon though.
If what you're building doesn't use HTTP, also talk to an admin and we'll get this sorted for you.