pixie-io / pixie

Instant Kubernetes-Native Application Observability
https://px.dev
Apache License 2.0
5.6k stars 430 forks source link

HTTP requests missing service info on minikube v1.16+ #298

Open htroisi opened 3 years ago

htroisi commented 3 years ago

Bug Description For minikube v1.16+, Pixie is missing service info for traced HTTP requests. This can be immediately seen in the Service Graph in the px/cluster Live View - the graph does not show any traffic.

Repro Steps

  1. Startup a minikube cluster: minikube start --driver=hyperkit --cpus=4 --memory=8000 -p=minikube-test-cluster
  2. px deploy
  3. px demo deploy px-sock-shop

Temporary Workaround As a workaround, you can enable the --cni=flannel flag when starting up minikube:

minikube start --driver=<kvm2|hyperkit> --cni=flannel --cpus=4 --memory=8000 -p=<cluster-name>

Next Steps Further investigation is required to see what it is about minikube 1.16 that causes the issue. Definitely appears related to the CNI, but may also have something to do with the k8s version.

clemenskol commented 1 year ago

just an FYI: --cni=calico also works. So it seems really any "explicit" CNI works, but the default CNI of using a simple docker bridge-network does not work.

One of the effects not mentioned in the issue above is that when viewing (for example) HTTP events, all source IPs are mapped to the IP of the docker0 interface in minikube which is 172.17.0.1 by default.

More details on selecting a CNI for minikube can be found here: https://minikube.sigs.k8s.io/docs/handbook/network_policy/