User Tools

Site Tools


howto:specific:learn_k8s

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.

howto/specific/learn_k8s.txt · Last modified: 2023/07/29 11:17 by tcmal