Immutable, reproducible VM-based Talos Linux platform of testk8s-platform
.
docker
anddocker compose
, orpodman
andpodman-compose
- Rootful, since
SYS_ADMIN
andNET_ADMIN
are needed --privileged
is only required for the (optional)modprobe
container
- Rootful, since
- KVM support on the host (check with
ls /dev/kvm
) - A POSIX compliant shell for supporting scripts
Kernel modules needed for networking on the host (will be modprobe
d automatically):
act_mirred
cls_u32
sch_ingress
See the .env
file for configuration options and their explanations.
Start up the platform with sudo docker compose up
or sudo podman-compose up
. This should build download/build all needed components automatically and start the Talos Linux cluster in the talos
container.
Use ./enter.sh talos
to enter the talos
container. The runtime environment should set itself up automatically, but the following tools are available for debugging and manual deployment:
kubectl
k9s
-
Inside the
talos
container, first check the logs of the first control plane VM, which often contain helpful hints about the issue:tail -f ~/.talos/clusters/talos-default/talos-default-controlplane-1.log
-
If there is an error related to networking, check that the
modprobe
container has executed successfully withdocker compose logs modprobe
orpodman-compose logs modprobe
. -
If there is a networking error despite all the kernel modules from the requirements being loaded, try to re-create the
talos container
withdocker compose up -d --force-recreate talos
orpodman-compose up -d --force-recreate talos
.
- Check that you are running
docker compose
orpodman-compose
with sufficient privileges - Ensure that
/dev/kvm
is present and has the right permissions
- Dennis Marttinen (@twelho)
testk8s-platform
has been developed with support from the Secure Systems Group of the Department of Computer Science at Aalto University, Espoo, Finland.