Skip to content

topolvm/pie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0d99876 · Nov 11, 2024
Oct 24, 2024
Aug 13, 2024
Nov 11, 2024
Jun 12, 2024
Oct 24, 2024
Jun 12, 2024
Jun 28, 2024
Oct 20, 2022
Nov 5, 2024
Jun 12, 2024
Feb 1, 2024
Nov 5, 2024
Feb 1, 2024
Oct 20, 2022
Jan 12, 2024
Jan 12, 2024
Oct 19, 2023
Jul 18, 2023
Jun 27, 2024
Feb 2, 2024
Apr 19, 2024
Feb 1, 2024
Oct 24, 2024
Aug 30, 2024
Oct 20, 2022
Nov 5, 2024
Nov 5, 2024
Oct 24, 2024

Repository files navigation

GitHub release (latest by date) Main Go Reference Go Report Card

pie

An application that monitors the availability of Kubernetes storage in end-to-end manner.

Description

pie verifies that PVs are successfully provisioned on the specified nodes for the specified storage classes and that the PVs can be successfully accessed. It outputs the results as metrics.

Supported environments

  • Kubernetes: 1.31, 1.30, 1.29

Getting Started

Running on the cluster

  1. Install pie using Helm:
    helm repo add pie https://topolvm.github.io/pie
    helm install pie
  2. Create a PieProbe resource:
    cat <<EOS | kubectl apply -f -
    apiVersion: pie.topolvm.io/v1alpha1
    kind: PieProbe
    metadata:
      name: pieprobe
    spec:
      monitoringStorageClass: YOUR-STORAGE-CLASS-NAME # This field is mandatory.
      # All other fields are optional.
      nodeSelector:
        nodeSelectorTerms:
        - matchExpressions:
        - key: foo
          operator: DoesNotExist
      probePeriod: 1
      probeThreshold: 10s
    EOS

Prometheus metrics

pie_io_write_latency_on_mount_probe_seconds

IO latency of write, benchmarked on mount-probe Pods.

TYPE: gauge

pie_io_read_latency_on_mount_probe_seconds

IO latency of read, benchmarked on mount-probe Pods.

TYPE: gauge

pie_mount_probe_total

The number of attempts of the creation of the mount-probe Pod object and the creation of the container.

TYPE: counter

pie_performance_on_mount_probe_total

The number of attempts of performing the IO benchmarks on mount-probe Pods.

TYPE: counter

pie_provision_probe_total

The number of attempts of the creation of the provision-probe Pod object and the creation of the container.

TYPE: counter

Contributing

Test It Out

  1. Run unit tests.

    make test
  2. Run e2e test on the local cluster.

    make -C test/e2e create-cluster
    make -C test/e2e test