Workloads

You can now tell K9s to monitor your various workloads by defining a workload.yaml file for a given Kubernetes context. Given a set of labels, Alpha will monitor all ressources associated with those labels and present the results in a workloads view. You can access the view by using either workloads or the shortcut wk. This is the equivalent to using kubectl get all -lapp=fred with a twist as workloads will go deeper into your matching resources in good all k9s style!

When a workload is specified, K9sAlpha will scan the associated resources and report any potential issues with their configuration. These are referred as resource scans in K9sAlpha parlance. The tool will classify scans as severe, warning or info and will give detailed reports on these scans and which resources are affected. Please refer to the scan section for additional information.

IMPORTANT! The scans are not quiet on par with Popeye’s sanitizers! We will refine and beef-up in upcoming releases!

Additionally, you have the option to tell k9s where the resources manifests are located on disk. In these situations, the tool will perform resource diffs and report the deltas between the source of truth aka the manifests on disk and what’s currently deployed on the cluster. When deltas are detected, K9sAlpha will produce detailed reports of the differences via Deltas.

IMPORTANT! Alpha currently only support plain old k8s manifests or Kustomizations to compute the deltas.

NOTE! These queries are highly process/mem intensive and mileage will vary depending on the clusters size and resources complexity!

Initially, we’re going to limit the workload queries to only scan for labels match on the following resources:

  • ConfigMaps
  • Secrets
  • ServiceAccounts
  • Pods
  • Services
  • StorageClasses
  • PersistentVolumes
  • PersistentVolumeClaims
  • ReplicaSets
  • Deployments
  • StatefulSets
  • DaemonSets
  • Roles
  • RoleBindings
  • ClusterRoles
  • ClusterRoleBindings

K9s𝞪 Workloads View

K9s𝞪 Workloads View


Work in progress... Options and layout may change in future K9s𝞪 releases as this feature solidifies.


Sample Workloads

workloads:
  # Define a workload named blee.
  blee:
    # Specify labels for all resources you want to track for this workload.
    labels:
      app: blee
      env: prod
      group: blee
    # Specify either a single manifest file or a directory. A single manifest file may contain multiple resource definitions.
    # IMPORTANT! Currently we only support plain K8s manifests or Kustomizations.
    manifests: /k8s/manifests/blee.yaml
  zorg:
    labels:
      app: zorg
      org: cover-the-world-with-red-hot-magma
    manifests: /k8s/manifests/zorg

 Back



© 2021 Imhotep Software LLC. All materials licensed under Apache v2.0