Files needed to build a PDP-11 container and deploy it in Kubernetes
 
 
Go to file
Dessa Simpson bd6050ea3e Update 'README.md' 2023-10-26 18:37:08 +00:00
docker initial commit 2023-10-26 01:07:23 -07:00
k8s initial commit 2023-10-26 01:07:23 -07:00
.gitignore initial commit 2023-10-26 01:07:23 -07:00
README.md Update 'README.md' 2023-10-26 18:37:08 +00:00
bootstrap-k8s.sh initial commit 2023-10-26 01:07:23 -07:00

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:*"