Setting up a pixielabs.ai demo !!

Philippe Bogaerts
2 min readMay 6, 2021

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
cd ./app_routable_demo
./setup.sh
watch kubectl get po -n app-routable-demo

4. Installing pixielabs.ai

1. Install the PX CLI
See https://docs.pixielabs.ai/
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
px deploy

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/
Done !!!

See https://github.com/kubiosec/pixielabs-demo for updates.

Philippe Bogaerts

#BruCON co-founder, #OWASP supporter, Application Delivery and Web Application Security, #Kubernetes and #container, #pentesting enthousiast, BBQ & cocktails !!