KubeBlocks
BlogsEnterprise
⌘K
​
Blogs

Overview
Quickstart
Architecture

Operations

Stop / Start / Restart
Vertical Scaling
Horizontal Scaling
Manage Services
Volume Expansion

Monitoring

Prometheus Integration
  1. Prerequisites
  2. Create a PodMonitor
  3. Key Metrics
  4. Cleanup

Integrate MinIO with Prometheus Operator

MinIO clusters managed by KubeBlocks expose Prometheus metrics at /minio/v2/metrics/cluster on port 9000 (api). Authentication is disabled (MINIO_PROMETHEUS_AUTH_TYPE=public).

Prerequisites

    • A functional Kubernetes cluster (v1.21+ recommended)
    • kubectl v1.21+ installed and configured with cluster access
    • KubeBlocks installed (installation guide)
    • MinIO Add-on enabled:
      helm install minio kubeblocks/minio --version 1.1.0-alpha.0 -n kb-system
    • A namespace for the cluster (examples use demo):
      kubectl create ns demo
    • Prometheus Operator installed in your cluster
    • Prometheus configured with podMonitorSelector matching label release: prometheus

    Create a PodMonitor

    kubectl apply -f - <<EOF apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: minio-pod-monitor namespace: demo labels: release: prometheus spec: jobLabel: app.kubernetes.io/managed-by podTargetLabels: - app.kubernetes.io/instance - app.kubernetes.io/managed-by - apps.kubeblocks.io/component-name - apps.kubeblocks.io/pod-name podMetricsEndpoints: - path: /minio/v2/metrics/cluster port: api scheme: http namespaceSelector: matchNames: - demo selector: matchLabels: app.kubernetes.io/instance: minio-cluster EOF

    Verify the PodMonitor is created:

    kubectl get podmonitor minio-pod-monitor -n demo
    Example Output
    NAME AGE minio-pod-monitor 10s

    Key Metrics

    MetricDescription
    minio_bucket_objects_countNumber of objects in a bucket
    minio_bucket_usage_total_bytesTotal bytes used per bucket
    minio_cluster_capacity_raw_total_bytesTotal raw cluster capacity
    minio_cluster_capacity_usable_total_bytesTotal usable cluster capacity
    minio_cluster_capacity_usable_free_bytesAvailable usable capacity
    minio_node_disk_total_bytesTotal disk capacity per node
    minio_s3_requests_totalTotal S3 API requests
    minio_s3_errors_totalTotal S3 API errors
    minio_s3_traffic_received_bytesBytes received via S3
    minio_s3_traffic_sent_bytesBytes sent via S3

    Cleanup

    kubectl delete podmonitor minio-pod-monitor -n demo --ignore-not-found

    © 2026 KUBEBLOCKS INC