talos/hack/test/libvirt/README.md
Andrew Rynhard 5dbc26c7a3 feat: rename osctl to talosctl
This is a rename of the osctl binary. We decided that talosctl is a
better name for the Talos CLI. This does not break any APIs, but does
make older documentation only accurate for previous versions of Talos.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-03-20 19:07:39 -07:00

1.4 KiB

Integration Testing

Setup

Prerequisites

  • A linux machine with KVM enabled
  • docker
  • docker-compose
  • virt-install
  • qemu-kvm
  • yq
apt install -y virtinst qemu-kvm
curl -L https://github.com/mikefarah/yq/releases/download/2.4.1/yq_linux_amd64 -o /usr/local/bin/yq
chmod +x /usr/local/bin/yq

Start Matchbox, Dnsmasq, and HAproxy

docker-compose up

Note: This will run all services in the foreground.

Create the VMs

./libvirt.sh up

Getting the Console Logs

virsh console <VM>

Connecting to the Nodes

From the Host

Setup DNS

Append the following to /etc/hosts:

172.28.1.3 kubernetes.talos.dev
172.28.1.10 control-plane-1.talos.dev
172.28.1.11 control-plane-2.talos.dev
172.28.1.12 control-plane-3.talos.dev
172.28.1.13 worker-1.talos.dev
Setup talosctl and kubectl
export TALOSCONFIG=$PWD/matchbox/assets/talosconfig
export KUBECONFIG=$PWD/matchbox/assets/kubeconfig
talosctl config endpoint 172.28.1.10
talosctl kubeconfig ./matchbox/assets/kubeconfig

From a Container

./libvirt.sh workspace
talosctl config endpoint 172.28.1.10
talosctl kubeconfig .

Verify Connectivity

talosctl services
kubectl get nodes

Teardown

To teardown the test:

docker-compose down
./libvirt.sh down