An application that monitors the availability of Kubernetes storage in end-to-end manner.
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.
- Kubernetes: 1.31, 1.30, 1.29
- Install pie using Helm:
helm repo add pie https://topolvm.github.io/pie helm install pie
- 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
IO latency of write, benchmarked on mount-probe Pods.
TYPE: gauge
IO latency of read, benchmarked on mount-probe Pods.
TYPE: gauge
The number of attempts of the creation of the mount-probe Pod object and the creation of the container.
TYPE: counter
The number of attempts of performing the IO benchmarks on mount-probe Pods.
TYPE: counter
The number of attempts of the creation of the provision-probe Pod object and the creation of the container.
TYPE: counter
-
Run unit tests.
make test
-
Run e2e test on the local cluster.
make -C test/e2e create-cluster make -C test/e2e test