pixie-io / pixie

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

Update cli to detect OpenShift and provide notice to install SCC #2048

Closed ddelnano closed 12 hours ago

ddelnano commented 1 week ago

Summary: Update cli to detect OpenShift and provide notice to install SCC

This updates px deploy to detect OpenShift clusters. In addition, it also prompts a user that they need to install a SecurityContextConstraint before continuing with the deployment. Note: the existing SCC instructions no longer work. I've raised https://github.com/pixie-io/docs.px.dev/pull/291 and verified that a pixie deploy works properly with the updated instructions.

Relevant Issues: N/A

Type of change: /kind feature

Test Plan: Verified the following with a locally built px cli

svc/openshift - kubernetes.default.svc.cluster.local svc/kubernetes - 172.30.0.1:443 -> 6443

View details with 'oc describe /' or list resources with 'oc get all'.

$ ./px deploy Pixie CLI

Running Cluster Checks: ✔ Kernel version > 4.14.0 ✔ Cluster type is supported ✔ K8s version > 1.16.0 ✔ Kubectl > 1.10.0 is present ✔ User can create namespace ✕ Cluster type is in list of known supported types ERR: openshift cluster detected. Please note that a Security Context Constraint (SCC) is required to run Pixie. Install a SCC in the namespace designated for ✕ Cluster type is in list of known supported types ERR: openshift cluster detected. Please note that a Security Context Constraint (SCC) is required to run Pixie. Install a SCC in the namespace designated for the Pixie install before continuing. See example on https://docs.px.dev/reference/admin/environment-configs/ Some cluster checks failed. Pixie may not work properly on your cluster. Continue with deploy? (y/n) [y] : ^C

- Verified that `oc status` returns with a non-zero exit status if KUBECONFIG points to a different k8s cluster

$ kubectl get nodes NAME STATUS ROLES AGE VERSION gke-dev-cluster-ddelnano-default-pool-a27c1ac2-fh3l Ready 26d v1.30.5-gke.1014001 gke-dev-cluster-ddelnano-default-pool-a27c1ac2-qbqs Ready 13d v1.30.5-gke.1014001

$ oc status; echo $? error: you do not have rights to view project "default" specified in your config or the project doesn't exist 1



Changelog Message: Enhanced the `px` cli to detect OpenShift clusters and prompt to install the appropriate SecurityContextConstraints before proceeding with a deploy
ddelnano commented 3 days ago

@pixie-io/maintainers could you review this when you have the chance?