Everyone can contribute! Learn DevOps and Cloud Native in our cafe ☕


Technology is moving fast in the DevOps and Cloud Native community.

Join the conversation and add your thoughts, tips, experiences, stories.

"Everyone Can Contribute" is inspired by GitLab's mission.

54. #EveryoneCanContribute Cafe: Pixie for Kubernetes Observability



Insights

Michael Friedrich, Niclas Mietz, and Sven Patrick Meier discussed getting started with Pixie and Observability.

Resources

At first, we started to deploy Pixie to our pre-created EKS 1.23 Cluster with eksctl v0.111.0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: pixie
  region: eu-west-1
  version: '1.23'
  tags:
    karpenter.sh/discovery: pixie # here, it is set to the cluster name
iam:
  withOIDC: true # required

karpenter:
  version: '0.15.0'

managedNodeGroups:
  - name: managed-ng-1
    minSize: 1
    maxSize: 2
    desiredCapacity: 1
1
eksctl create cluster -f eksctl.yml

as alternative you can do it also with

1
eksctl create cluster pixie

NOTE: This will install the EKS Cluster only with version 1.22

After that we installed the px cli via

1
bash -c "$(curl -fsSL https://withpixie.ai/install.sh)"

Warning: Be carefule when you pipe shell scripts from a remote location. Check the Script first or download it.

As next step tried to install pixie with cli

1
px deploy

We were stuck multiple times in the deployment after Michael F. linked the Issue to fix the problem.

We weren’t aware that we needed to have persistent storage for Pixie.

It turned out after some debugging that our Cluster Storage was not working so we debugged it.

10 Minutes later we found the issue our StorageClass cloudn’t provision any new Persistent Volumes, because the aws-ebs-csi-driver was not installed by eksctl by default.

So we read the UserGuide and fixed it by adding the permissions to the node instance (What is in general a workaround for best practice use a separated service account)

After everything was fixed we tried it again, and it worked.

We overviewed the different UIs and tried to understand how it works on a higher level.

We also deployed the built-in demo application.

1
px demo deploy px-sock-shop

Then we looked at the different possibilities like inspecting:

  • http traffic with also request body
  • sql queries for mysql and postgres
  • SLIs

Besides that, we checked the Pixies 101s to see what is possible.

In the end, we also removed our cluster to save costs when not needed anymore.

1
eksctl delete cluster pixie

Mentioned articles:

Future ideas

  1. Integrate Pixie Datasource into a Grafana Dashboard with Custom Data
  2. Analyze Kafka Data with Pixie

News

The next meetup happens on October 11, 2022.

We will meet on every the second Tuesday at 9am PT in the Month.



Date published: September 13, 2022

Tags: Pixie, Observability, Kubernetes, Metrics, Slo, Tracing