Skip to main content

CLYSO: Kubernetes Analyzer

· 3 min read
Dominik Rieder
Head of Kubernetes at Clyso

In 2023, Clyso released the Ceph Analyzer, giving your operations teams a great tool for inspecting the health of your Ceph clusters, offering in-depth reporting and recommendations to fix many non-trivial issues. Two years later, we are pleased to announce the release of Clyso Kubernetes Analyzer!

Get your 30 days of Kubernetes Analyzer now!

What does Clyso Kubernetes Analyzer do?​

Is your Cluster in a good shape, or do you think it is? We will check it for you!

Features:

  • Comprehensive Cluster Inspection: Perform a full inspection of all cluster components with a single command.
  • Pod Inspection: Retrieve detailed information about pods, including container statuses and logs from the last restart.
  • Node Inspection: Gather system information and statuses from all nodes in the cluster.
  • Component Inspection: Inspect critical Kubernetes components like CoreDNS, etcd, CNI, and CSI.
  • Certificate Expiration Verification: Check the expiration dates of Kubernetes certificates to prevent unexpected outages.
  • Health Checks: Perform health checks on cluster components to ensure they are functioning correctly.

The Analyzer will check your cluster and give you a report with recommendations on any problems it found.

Required Permissions:

To run the Full System Analysis Tool, the following Kubernetes permissions are required. You can create a ClusterRole with the necessary permissions using the following YAML configuration:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: full-system-analysis-role
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "create", "delete"]
- apiGroups: [""]
resources: ["pods/exec", "pods/log"]
verbs: ["create", "get"]
- apiGroups: [""]
resources: ["pods/portforward"]
verbs: ["create"]
- apiGroups: [""]
resources: ["services", "endpoints"]
verbs: ["get", "list"]
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get", "list", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumes", "persistentvolumeclaims"]
verbs: ["get", "list", "create", "delete"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses", "csidrivers"]
verbs: ["get", "list"]
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets", "daemonsets"]
verbs: ["get", "list"]

This ClusterRole grants the necessary permissions to inspect and manage various Kubernetes resources.

How to use it​

  1. Grab you a free Demo from here
  2. You will receive a .zip file that you have to unzip:
$ unzip fsa_tool_clyso_0.16.0_linux_amd64.zip
LICENSE
config
fsa
  1. Now you see a fsa and a config file. This two files you have to copy on a control-plane node where it can execute kubectl and kubeadm or if not possible (f.e. on Talos Linux) to a machine that can reach the cluster and has a configured kubectl.
  2. Create a config directory on your "$HOME" or your choosen user and copy the config file into it:
## Create the directory
$ mkdir $HOME/.fsa

## Copy the config
$ cp config $HOME/.fsa/config
  1. Copy also the fsa Binary to your place where you like to execute it:
## Copy the fsa
$ cp fsa $HOME/fsa
  1. Execute now the Binary, this will generate a file called report.json:
$ ./fsa inspect all -o json
...
JSON report written to report.json
  1. Upload the report.json to https://analyzer.clyso.com/#/analyzer/kubernetes
  2. Check your report and improve your Cluster!

Let us know if you are missing something or find improvements!​