Dessa Simpson bd6050ea3e | ||
---|---|---|
docker | ||
k8s | ||
.gitignore | ||
README.md | ||
bootstrap-k8s.sh |
README.md
PDP-11 in Docker/Kubernetes
Docker
To build the container, run docker/build.sh [tag]
with the tag you want to apply to the image.
To run the container, use the following command adapted to your needs:
docker run -d --rm --privileged --name pdp -v `pwd`/rq0.dsk:/mnt/rq0.dsk <tag>
Kubernetes
To run in Kubernetes, first you need to build the docker image and push it to a registry your cluster has access to.
Once you've done that, run ./bootstrap-k8s.sh <tag> <disk_filename>
. tag
should be a ref to the docker image, uploaded to a registry the cluster can access. disk_filename
should be an xz-compressed PDP-11 disk image, which will be extracted and attached to the pdp as rq0.
To expose the services on an external IP, first install MetalLB, and then use ./configure-metallb.sh <ip>
. ip
should be an IP address on a broadcast domain the k8s nodes are on.
k3s
To use an external IP, MetalLB is required. Therefore, the cluster must not have ServiceLB enabled, as it will conflict. For k3s, just add --disable=servicelb
to the server command line options. For k3d, create the cluster as follows:
k3d cluster create pdp --k3s-arg "--disable=servicelb@server:*"