Skip to content

kubee command

kubee is the main entry of the kubee platform

Init a vault after installation with kubee-vault-init

Validate and test PrometheusRules with kubee-promtool

Query and send alert to the Prometheus Alert Manager with kubee-alertmanager

Kubee shell - get a shell from a busybox container or a pod

Generate an Ephemere Kubeconfig from pass with kubeconfig-pass

In all app scripts, you need to give an app name as argument.

The scripts will try to find resources for an app:

  • via the app.kubernetes.io/instance=$APP_NAME label
  • via the app.kubernetes.io/name=$APP_NAME label
  • or via the .envrc of an app directory

Problem: We need multiple apps in the same directory because an operator may ship multiple CRD definitions.

See: app.kubernetes.io/part-of: argocd

Example: the Prometheus Operator

  • prometheus (Prometheus CRD)
  • alertmanager (AlertManager CRD)
  • pushgateway
  • node exporter

In this configuration:

  • All apps are in a subdirectory of the KUBEE_APP_HOME directory (given by the $KUBEE_APP_HOME environment variable).
  • The name of an app is the name of a subdirectory
  • Each app expects a kubeconfig file located at ~/.kube/config-<app name> with the default context set with the same app namespace

To make these utilities Kubectl plugin, you can rename them from kubee- to kubectl-

They should then show up in:

Terminal window
kubectl plugin list

You can discover other plugins at Krew