I stumbled on pixielabs while investigating #eBPF. It is extremely powerful tool showing a lot of eBPF capabilities in a nice UI on a kubernetes cluster.
1. Setting up a k8s cluster
For the sake of this demo I will be using a managed kubernetes cluster on the DigitalOcean platform. It should work on other clusters also, check the supported clusters on https://docs.pixielabs.ai/.
Note: I tested also on a self managed kubeadm cluster on AWS.
Remark: Make sure your nodes have enough memory available. (8G or so)
2. Verify access to cluster
% export KUBECONFIG=$PWD/kubeconfig.yaml% kubectl get no
NAME STATUS ROLES AGE VERSION
pool-w9njxnpzz-8rf4b Ready <none> 41m v1.20.2
pool-w9njxnpzz-8rf4j Ready <none> 41m v1.20.2
pool-w9njxnpzz-8rf4r Ready <none> 41m v1.20.2
3. Install a demo application
See https://github.com/kubiosec/app_routable_demo, but any microservice demo app should work of course.
git clone https://github.com/kubiosec/app_routable_demo.git
watch kubectl get po -n app-routable-demo
4. Installing pixielabs.ai
1. Install the PX CLI
bash -c “$(curl -fsSL https://withpixie.ai/install.sh)"
When you are installing on Mac, your browser window will open automatically asking you to sign in with a Google account.
Return to the CLI and complete the instructions
2. Deploy the PX application on your cluster
If you are using a non-supported cluster type, chances are that it will work as I tested it on DigitalOcean when you confirm. Follow the instructions.
When finished, open a browser and access https://work.withpixie.ai/
See https://github.com/kubiosec/pixielabs-demo for updates.