Observability Policies Advisor

Observability

A part of our best practice policies, Magalix provides Observability policies so your teams can be confident they are applying the right amount of information across the board. These policies are designed to help govern the configuration of your workloads so you can explicitly define their behavior and availability. 

Missing Liveness Probe

Liveness probes are extremely useful in environments where self-healing is important. By setting a liveness probe, Kubernetes will know to restart your container if the liveness probe fails. Without having this set, your container may have frozen up while still trying to respond to requests. In highly available environments, this can lead to intermittent failures and initial confusion since there would be nothing indicating a failure, aside from the occasional bad response.  Further configuration of the probe allows you to determine how often the checks should be run, and how long to wait until the probe starts. 

Our Missing Liveness Probe policy checks to see if you are missing a Liveness probe within your workloads. Although there are 3 types of liveness probes: 1) running a command 2) HTTP request 3) TCP port check, along with the additional configuration we mentioned, we only check to see if you have a liveness probe set. We do not presume to know which method you decide to choose since each organization and environment should choose what works best. Entities that are include are:

  • Deployments
  • Pods
  • Jobs
  • CronJobs
  • DaemonSets
  • StatefulSets

We consider this a best practice because it provides a mechanism for Kubneretes to detect whether your workload is up and running as intended. 

Missing Readiness Probe

Some containers require extra time to “boot up” before they are ready to respond to requests and accept traffic. For example, you might have an in-memory database that requires several seconds to warm up its cache. Accessing it right away might cause issues since it’s not yet “ready”. Hence, the name readiness probe. Like other probes, you can extend the configuration to specify how long the probe should wait before starting, and how often it should check. 

Our Missing Readiness Probe policy checks to see if you are missing a Readiness probe amongst your workloads. Much like our Missing Liveness Probe policy, We make no assumptions about your probe’s configuration. We simply check to see if all of your workloads have this set. We currently check:

  • Deployments
  • Pods
  • Jobs
  • CronJobs
  • DaemonSets
  • StatefulSets

We consider this a best practice because it provides a mechanism for Kubneretes to detect when your workload is ready to accept requests. Be aware that readiness probes are continuously checked throughout your containers lifecycle so if additional tuning of your configuration is highly recommended. 

Connect Magalix to your clusters to check if their K8s objects violate or comply with this advisor's policies. Start your 30-days free trial by clicking here