This repository provides samples to:
- Get a Raspberry PI/raspbian based k8s cluster ready to deploy tilloo
- Deploy the tilloo job scheduler engine into that k8s cluster
- You need at least one amd64 node joined to the k8s cluster. This is mainly used as a deployment target for mongodb and disque. Mongodb has arm64 images but not arm32v6 images that raspbian requires. Disque is only compiled for amd64 and it's replacement built into Redis v6 is not out yet.
- You need to have a base k8s cluster up and running with at least two raspbian nodes and an ubuntu amd64 node.
- Make sure you disable apparmor on the ubuntu node or else you may hit issues getting docker to stop/start containers in conjunction with k8s.
- MetalLB is used to provide public ip addresses in layer 2 mode from your local network to the cluster. You will need to modify metallb-config.yaml to provide the pool of addresses it should allocation from.
- tilloo/k8s:latest is a multi-architecture manifest that includes amd64 and arm32v6 images.
- You will need to build both amd64 and arm32v6 images of tilloo and push them to a repository. You will need to replace my repository 'chriskinsman' with yours.
- You will need to modify tilloo.yaml to point at the images in your repository instead of mine.
- You will need to add a /etc/hosts entry for tilloo.local. This is due to the nginx ingress using host headers. If you hit it's cluster ip without a host header you will end up with a 404 not found.
Steps are intended to be run in numerical order.